com.google.api.services.content.model.Product Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.content.model;
/**
* Product data. After inserting, updating, or deleting a product, it may take several minutes
* before changes take effect.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Content API for Shopping. For a detailed explanation
* see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class Product extends com.google.api.client.json.GenericJson {
/**
* Additional URLs of images of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List additionalImageLinks;
/**
* Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String adsGrouping;
/**
* Similar to ads_grouping, but only works on CPC.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List adsLabels;
/**
* Allows advertisers to override the item URL when the product is shown within the context of
* Product Ads.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String adsRedirect;
/**
* Set to true if the item is targeted towards adults.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean adult;
/**
* Target age group of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String ageGroup;
/**
* Availability status of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String availability;
/**
* The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String availabilityDate;
/**
* Brand of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String brand;
/**
* The item's channel (online or local).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String channel;
/**
* Color of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String color;
/**
* Condition or state of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String condition;
/**
* The two-letter ISO 639-1 language code for the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String contentLanguage;
/**
* Cost of goods sold. Used for gross profit reporting.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Price costOfGoodsSold;
/**
* A list of custom (merchant-provided) attributes. It can also be used for submitting any
* attribute of the feed specification in its generic form (e.g., { "name": "size type", "value":
* "regular" }). This is useful for submitting attributes not explicitly exposed by the API.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List customAttributes;
static {
// hack to force ProGuard to consider CustomAttribute used, since otherwise it would be stripped out
// see https://github.com/google/google-api-java-client/issues/543
com.google.api.client.util.Data.nullOf(CustomAttribute.class);
}
/**
* Custom label 0 for custom grouping of items in a Shopping campaign.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String customLabel0;
/**
* Custom label 1 for custom grouping of items in a Shopping campaign.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String customLabel1;
/**
* Custom label 2 for custom grouping of items in a Shopping campaign.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String customLabel2;
/**
* Custom label 3 for custom grouping of items in a Shopping campaign.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String customLabel3;
/**
* Custom label 4 for custom grouping of items in a Shopping campaign.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String customLabel4;
/**
* Description of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String description;
/**
* An identifier for an item for dynamic remarketing campaigns.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String displayAdsId;
/**
* URL directly to your item's landing page for dynamic remarketing campaigns.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String displayAdsLink;
/**
* Advertiser-specified recommendations.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List displayAdsSimilarIds;
/**
* Title of an item for dynamic remarketing campaigns.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String displayAdsTitle;
/**
* Offer margin for dynamic remarketing campaigns.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Double displayAdsValue;
/**
* The energy efficiency class as defined in EU directive 2010/30/EU.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String energyEfficiencyClass;
/**
* The list of destinations to exclude for this target (corresponds to unchecked check boxes in
* Merchant Center).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List excludedDestinations;
/**
* Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The
* actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate
* and might be earlier if expirationDate is too far in the future.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String expirationDate;
/**
* Target gender of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String gender;
/**
* Google's category of the item (see Google product taxonomy).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String googleProductCategory;
/**
* Global Trade Item Number (GTIN) of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String gtin;
/**
* The REST ID of the product. Content API methods that operate on products take this as their
* productId parameter. The REST ID for a product is of the form
* channel:contentLanguage:targetCountry:offerId.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String id;
/**
* False when the item does not have unique product identifiers appropriate to its category, such
* as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all
* target countries except for Canada.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean identifierExists;
/**
* URL of an image of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String imageLink;
/**
* 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 the
* excluded_destination field.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List includedDestinations;
/**
* Number and amount of installments to pay for an item. Brazil only.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Installment installment;
/**
* 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.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean isBundle;
/**
* Shared identifier for all variants of the same product.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String itemGroupId;
/**
* Identifies what kind of resource this is. Value: the fixed string "content#product".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String kind;
/**
* URL directly linking to your item's page on your website.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String link;
/**
* Loyalty points that users receive after purchasing the item. Japan only.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private LoyaltyPoints loyaltyPoints;
/**
* The material of which the item is made.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String material;
/**
* The energy efficiency class as defined in EU directive 2010/30/EU.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String maxEnergyEfficiencyClass;
/**
* Maximal product handling time (in business days).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long maxHandlingTime;
/**
* The energy efficiency class as defined in EU directive 2010/30/EU.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String minEnergyEfficiencyClass;
/**
* Minimal product handling time (in business days).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long minHandlingTime;
/**
* Link to a mobile-optimized version of the landing page.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String mobileLink;
/**
* Manufacturer Part Number (MPN) of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String mpn;
/**
* The number of identical products in a merchant-defined multipack.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long multipack;
/**
* A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple
* whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters
* are accepted. See the products feed specification for details. Note: Content API methods that
* operate on products take the REST ID of the product, not this identifier.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String offerId;
/**
* The item's pattern (e.g. polka dots).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String pattern;
/**
* Price of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Price price;
/**
* Categories of the item (formatted as in products data specification).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List productTypes;
/**
* The unique ID of a promotion.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List promotionIds;
/**
* Advertised sale price of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Price salePrice;
/**
* Date range during which the item is on sale (see products data specification).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String salePriceEffectiveDate;
/**
* The quantity of the product that is available for selling on Google. Supported only for online
* products.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long sellOnGoogleQuantity;
/**
* Shipping rules.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List shipping;
/**
* Height of the item for shipping.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ProductShippingDimension shippingHeight;
/**
* The shipping label of the product, used to group product in account-level shipping rules.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String shippingLabel;
/**
* Length of the item for shipping.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ProductShippingDimension shippingLength;
/**
* Weight of the item for shipping.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ProductShippingWeight shippingWeight;
/**
* Width of the item for shipping.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ProductShippingDimension shippingWidth;
/**
* System in which the size is specified. Recommended for apparel items.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String sizeSystem;
/**
* The cut of the item. Recommended for apparel items.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String sizeType;
/**
* Size of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List sizes;
/**
* The source of the offer, i.e., how the offer was created.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String source;
/**
* The CLDR territory code for the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String targetCountry;
/**
* The tax category of the product, used to configure detailed tax nexus in account-level tax
* settings.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String taxCategory;
/**
* Tax information.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List taxes;
/**
* Title of the item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String title;
/**
* The transit time label of the product, used to group product in account-level transit time
* tables.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String transitTimeLabel;
/**
* The preference of the denominator of the unit price.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ProductUnitPricingBaseMeasure unitPricingBaseMeasure;
/**
* The measure and dimension of an item.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ProductUnitPricingMeasure unitPricingMeasure;
/**
* Additional URLs of images of the item.
* @return value or {@code null} for none
*/
public java.util.List getAdditionalImageLinks() {
return additionalImageLinks;
}
/**
* Additional URLs of images of the item.
* @param additionalImageLinks additionalImageLinks or {@code null} for none
*/
public Product setAdditionalImageLinks(java.util.List additionalImageLinks) {
this.additionalImageLinks = additionalImageLinks;
return this;
}
/**
* Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
* @return value or {@code null} for none
*/
public java.lang.String getAdsGrouping() {
return adsGrouping;
}
/**
* Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
* @param adsGrouping adsGrouping or {@code null} for none
*/
public Product setAdsGrouping(java.lang.String adsGrouping) {
this.adsGrouping = adsGrouping;
return this;
}
/**
* Similar to ads_grouping, but only works on CPC.
* @return value or {@code null} for none
*/
public java.util.List getAdsLabels() {
return adsLabels;
}
/**
* Similar to ads_grouping, but only works on CPC.
* @param adsLabels adsLabels or {@code null} for none
*/
public Product setAdsLabels(java.util.List adsLabels) {
this.adsLabels = adsLabels;
return this;
}
/**
* Allows advertisers to override the item URL when the product is shown within the context of
* Product Ads.
* @return value or {@code null} for none
*/
public java.lang.String getAdsRedirect() {
return adsRedirect;
}
/**
* Allows advertisers to override the item URL when the product is shown within the context of
* Product Ads.
* @param adsRedirect adsRedirect or {@code null} for none
*/
public Product setAdsRedirect(java.lang.String adsRedirect) {
this.adsRedirect = adsRedirect;
return this;
}
/**
* Set to true if the item is targeted towards adults.
* @return value or {@code null} for none
*/
public java.lang.Boolean getAdult() {
return adult;
}
/**
* Set to true if the item is targeted towards adults.
* @param adult adult or {@code null} for none
*/
public Product setAdult(java.lang.Boolean adult) {
this.adult = adult;
return this;
}
/**
* Target age group of the item.
* @return value or {@code null} for none
*/
public java.lang.String getAgeGroup() {
return ageGroup;
}
/**
* Target age group of the item.
* @param ageGroup ageGroup or {@code null} for none
*/
public Product setAgeGroup(java.lang.String ageGroup) {
this.ageGroup = ageGroup;
return this;
}
/**
* Availability status of the item.
* @return value or {@code null} for none
*/
public java.lang.String getAvailability() {
return availability;
}
/**
* Availability status of the item.
* @param availability availability or {@code null} for none
*/
public Product setAvailability(java.lang.String availability) {
this.availability = availability;
return this;
}
/**
* The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
* @return value or {@code null} for none
*/
public java.lang.String getAvailabilityDate() {
return availabilityDate;
}
/**
* The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
* @param availabilityDate availabilityDate or {@code null} for none
*/
public Product setAvailabilityDate(java.lang.String availabilityDate) {
this.availabilityDate = availabilityDate;
return this;
}
/**
* Brand of the item.
* @return value or {@code null} for none
*/
public java.lang.String getBrand() {
return brand;
}
/**
* Brand of the item.
* @param brand brand or {@code null} for none
*/
public Product setBrand(java.lang.String brand) {
this.brand = brand;
return this;
}
/**
* The item's channel (online or local).
* @return value or {@code null} for none
*/
public java.lang.String getChannel() {
return channel;
}
/**
* The item's channel (online or local).
* @param channel channel or {@code null} for none
*/
public Product setChannel(java.lang.String channel) {
this.channel = channel;
return this;
}
/**
* Color of the item.
* @return value or {@code null} for none
*/
public java.lang.String getColor() {
return color;
}
/**
* Color of the item.
* @param color color or {@code null} for none
*/
public Product setColor(java.lang.String color) {
this.color = color;
return this;
}
/**
* Condition or state of the item.
* @return value or {@code null} for none
*/
public java.lang.String getCondition() {
return condition;
}
/**
* Condition or state of the item.
* @param condition condition or {@code null} for none
*/
public Product setCondition(java.lang.String condition) {
this.condition = condition;
return this;
}
/**
* The two-letter ISO 639-1 language code for the item.
* @return value or {@code null} for none
*/
public java.lang.String getContentLanguage() {
return contentLanguage;
}
/**
* The two-letter ISO 639-1 language code for the item.
* @param contentLanguage contentLanguage or {@code null} for none
*/
public Product setContentLanguage(java.lang.String contentLanguage) {
this.contentLanguage = contentLanguage;
return this;
}
/**
* Cost of goods sold. Used for gross profit reporting.
* @return value or {@code null} for none
*/
public Price getCostOfGoodsSold() {
return costOfGoodsSold;
}
/**
* Cost of goods sold. Used for gross profit reporting.
* @param costOfGoodsSold costOfGoodsSold or {@code null} for none
*/
public Product setCostOfGoodsSold(Price costOfGoodsSold) {
this.costOfGoodsSold = costOfGoodsSold;
return this;
}
/**
* A list of custom (merchant-provided) attributes. It can also be used for submitting any
* attribute of the feed specification in its generic form (e.g., { "name": "size type", "value":
* "regular" }). This is useful for submitting attributes not explicitly exposed by the API.
* @return value or {@code null} for none
*/
public java.util.List getCustomAttributes() {
return customAttributes;
}
/**
* A list of custom (merchant-provided) attributes. It can also be used for submitting any
* attribute of the feed specification in its generic form (e.g., { "name": "size type", "value":
* "regular" }). This is useful for submitting attributes not explicitly exposed by the API.
* @param customAttributes customAttributes or {@code null} for none
*/
public Product setCustomAttributes(java.util.List customAttributes) {
this.customAttributes = customAttributes;
return this;
}
/**
* Custom label 0 for custom grouping of items in a Shopping campaign.
* @return value or {@code null} for none
*/
public java.lang.String getCustomLabel0() {
return customLabel0;
}
/**
* Custom label 0 for custom grouping of items in a Shopping campaign.
* @param customLabel0 customLabel0 or {@code null} for none
*/
public Product setCustomLabel0(java.lang.String customLabel0) {
this.customLabel0 = customLabel0;
return this;
}
/**
* Custom label 1 for custom grouping of items in a Shopping campaign.
* @return value or {@code null} for none
*/
public java.lang.String getCustomLabel1() {
return customLabel1;
}
/**
* Custom label 1 for custom grouping of items in a Shopping campaign.
* @param customLabel1 customLabel1 or {@code null} for none
*/
public Product setCustomLabel1(java.lang.String customLabel1) {
this.customLabel1 = customLabel1;
return this;
}
/**
* Custom label 2 for custom grouping of items in a Shopping campaign.
* @return value or {@code null} for none
*/
public java.lang.String getCustomLabel2() {
return customLabel2;
}
/**
* Custom label 2 for custom grouping of items in a Shopping campaign.
* @param customLabel2 customLabel2 or {@code null} for none
*/
public Product setCustomLabel2(java.lang.String customLabel2) {
this.customLabel2 = customLabel2;
return this;
}
/**
* Custom label 3 for custom grouping of items in a Shopping campaign.
* @return value or {@code null} for none
*/
public java.lang.String getCustomLabel3() {
return customLabel3;
}
/**
* Custom label 3 for custom grouping of items in a Shopping campaign.
* @param customLabel3 customLabel3 or {@code null} for none
*/
public Product setCustomLabel3(java.lang.String customLabel3) {
this.customLabel3 = customLabel3;
return this;
}
/**
* Custom label 4 for custom grouping of items in a Shopping campaign.
* @return value or {@code null} for none
*/
public java.lang.String getCustomLabel4() {
return customLabel4;
}
/**
* Custom label 4 for custom grouping of items in a Shopping campaign.
* @param customLabel4 customLabel4 or {@code null} for none
*/
public Product setCustomLabel4(java.lang.String customLabel4) {
this.customLabel4 = customLabel4;
return this;
}
/**
* Description of the item.
* @return value or {@code null} for none
*/
public java.lang.String getDescription() {
return description;
}
/**
* Description of the item.
* @param description description or {@code null} for none
*/
public Product setDescription(java.lang.String description) {
this.description = description;
return this;
}
/**
* An identifier for an item for dynamic remarketing campaigns.
* @return value or {@code null} for none
*/
public java.lang.String getDisplayAdsId() {
return displayAdsId;
}
/**
* An identifier for an item for dynamic remarketing campaigns.
* @param displayAdsId displayAdsId or {@code null} for none
*/
public Product setDisplayAdsId(java.lang.String displayAdsId) {
this.displayAdsId = displayAdsId;
return this;
}
/**
* URL directly to your item's landing page for dynamic remarketing campaigns.
* @return value or {@code null} for none
*/
public java.lang.String getDisplayAdsLink() {
return displayAdsLink;
}
/**
* URL directly to your item's landing page for dynamic remarketing campaigns.
* @param displayAdsLink displayAdsLink or {@code null} for none
*/
public Product setDisplayAdsLink(java.lang.String displayAdsLink) {
this.displayAdsLink = displayAdsLink;
return this;
}
/**
* Advertiser-specified recommendations.
* @return value or {@code null} for none
*/
public java.util.List getDisplayAdsSimilarIds() {
return displayAdsSimilarIds;
}
/**
* Advertiser-specified recommendations.
* @param displayAdsSimilarIds displayAdsSimilarIds or {@code null} for none
*/
public Product setDisplayAdsSimilarIds(java.util.List displayAdsSimilarIds) {
this.displayAdsSimilarIds = displayAdsSimilarIds;
return this;
}
/**
* Title of an item for dynamic remarketing campaigns.
* @return value or {@code null} for none
*/
public java.lang.String getDisplayAdsTitle() {
return displayAdsTitle;
}
/**
* Title of an item for dynamic remarketing campaigns.
* @param displayAdsTitle displayAdsTitle or {@code null} for none
*/
public Product setDisplayAdsTitle(java.lang.String displayAdsTitle) {
this.displayAdsTitle = displayAdsTitle;
return this;
}
/**
* Offer margin for dynamic remarketing campaigns.
* @return value or {@code null} for none
*/
public java.lang.Double getDisplayAdsValue() {
return displayAdsValue;
}
/**
* Offer margin for dynamic remarketing campaigns.
* @param displayAdsValue displayAdsValue or {@code null} for none
*/
public Product setDisplayAdsValue(java.lang.Double displayAdsValue) {
this.displayAdsValue = displayAdsValue;
return this;
}
/**
* The energy efficiency class as defined in EU directive 2010/30/EU.
* @return value or {@code null} for none
*/
public java.lang.String getEnergyEfficiencyClass() {
return energyEfficiencyClass;
}
/**
* The energy efficiency class as defined in EU directive 2010/30/EU.
* @param energyEfficiencyClass energyEfficiencyClass or {@code null} for none
*/
public Product setEnergyEfficiencyClass(java.lang.String energyEfficiencyClass) {
this.energyEfficiencyClass = energyEfficiencyClass;
return this;
}
/**
* The list of destinations to exclude for this target (corresponds to unchecked check boxes in
* Merchant Center).
* @return value or {@code null} for none
*/
public java.util.List getExcludedDestinations() {
return excludedDestinations;
}
/**
* The list of destinations to exclude for this target (corresponds to unchecked check boxes in
* Merchant Center).
* @param excludedDestinations excludedDestinations or {@code null} for none
*/
public Product setExcludedDestinations(java.util.List excludedDestinations) {
this.excludedDestinations = excludedDestinations;
return this;
}
/**
* Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The
* actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate
* and might be earlier if expirationDate is too far in the future.
* @return value or {@code null} for none
*/
public java.lang.String getExpirationDate() {
return expirationDate;
}
/**
* Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The
* actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate
* and might be earlier if expirationDate is too far in the future.
* @param expirationDate expirationDate or {@code null} for none
*/
public Product setExpirationDate(java.lang.String expirationDate) {
this.expirationDate = expirationDate;
return this;
}
/**
* Target gender of the item.
* @return value or {@code null} for none
*/
public java.lang.String getGender() {
return gender;
}
/**
* Target gender of the item.
* @param gender gender or {@code null} for none
*/
public Product setGender(java.lang.String gender) {
this.gender = gender;
return this;
}
/**
* Google's category of the item (see Google product taxonomy).
* @return value or {@code null} for none
*/
public java.lang.String getGoogleProductCategory() {
return googleProductCategory;
}
/**
* Google's category of the item (see Google product taxonomy).
* @param googleProductCategory googleProductCategory or {@code null} for none
*/
public Product setGoogleProductCategory(java.lang.String googleProductCategory) {
this.googleProductCategory = googleProductCategory;
return this;
}
/**
* Global Trade Item Number (GTIN) of the item.
* @return value or {@code null} for none
*/
public java.lang.String getGtin() {
return gtin;
}
/**
* Global Trade Item Number (GTIN) of the item.
* @param gtin gtin or {@code null} for none
*/
public Product setGtin(java.lang.String gtin) {
this.gtin = gtin;
return this;
}
/**
* The REST ID of the product. Content API methods that operate on products take this as their
* productId parameter. The REST ID for a product is of the form
* channel:contentLanguage:targetCountry:offerId.
* @return value or {@code null} for none
*/
public java.lang.String getId() {
return id;
}
/**
* The REST ID of the product. Content API methods that operate on products take this as their
* productId parameter. The REST ID for a product is of the form
* channel:contentLanguage:targetCountry:offerId.
* @param id id or {@code null} for none
*/
public Product setId(java.lang.String id) {
this.id = id;
return this;
}
/**
* False when the item does not have unique product identifiers appropriate to its category, such
* as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all
* target countries except for Canada.
* @return value or {@code null} for none
*/
public java.lang.Boolean getIdentifierExists() {
return identifierExists;
}
/**
* False when the item does not have unique product identifiers appropriate to its category, such
* as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all
* target countries except for Canada.
* @param identifierExists identifierExists or {@code null} for none
*/
public Product setIdentifierExists(java.lang.Boolean identifierExists) {
this.identifierExists = identifierExists;
return this;
}
/**
* URL of an image of the item.
* @return value or {@code null} for none
*/
public java.lang.String getImageLink() {
return imageLink;
}
/**
* URL of an image of the item.
* @param imageLink imageLink or {@code null} for none
*/
public Product setImageLink(java.lang.String imageLink) {
this.imageLink = imageLink;
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 the
* excluded_destination field.
* @return value or {@code null} for none
*/
public java.util.List getIncludedDestinations() {
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 the
* excluded_destination field.
* @param includedDestinations includedDestinations or {@code null} for none
*/
public Product setIncludedDestinations(java.util.List includedDestinations) {
this.includedDestinations = includedDestinations;
return this;
}
/**
* Number and amount of installments to pay for an item. Brazil only.
* @return value or {@code null} for none
*/
public Installment getInstallment() {
return installment;
}
/**
* Number and amount of installments to pay for an item. Brazil only.
* @param installment installment or {@code null} for none
*/
public Product setInstallment(Installment installment) {
this.installment = installment;
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.
* @return value or {@code null} for none
*/
public java.lang.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.
* @param isBundle isBundle or {@code null} for none
*/
public Product setIsBundle(java.lang.Boolean isBundle) {
this.isBundle = isBundle;
return this;
}
/**
* Shared identifier for all variants of the same product.
* @return value or {@code null} for none
*/
public java.lang.String getItemGroupId() {
return itemGroupId;
}
/**
* Shared identifier for all variants of the same product.
* @param itemGroupId itemGroupId or {@code null} for none
*/
public Product setItemGroupId(java.lang.String itemGroupId) {
this.itemGroupId = itemGroupId;
return this;
}
/**
* Identifies what kind of resource this is. Value: the fixed string "content#product".
* @return value or {@code null} for none
*/
public java.lang.String getKind() {
return kind;
}
/**
* Identifies what kind of resource this is. Value: the fixed string "content#product".
* @param kind kind or {@code null} for none
*/
public Product setKind(java.lang.String kind) {
this.kind = kind;
return this;
}
/**
* URL directly linking to your item's page on your website.
* @return value or {@code null} for none
*/
public java.lang.String getLink() {
return link;
}
/**
* URL directly linking to your item's page on your website.
* @param link link or {@code null} for none
*/
public Product setLink(java.lang.String link) {
this.link = link;
return this;
}
/**
* Loyalty points that users receive after purchasing the item. Japan only.
* @return value or {@code null} for none
*/
public LoyaltyPoints getLoyaltyPoints() {
return loyaltyPoints;
}
/**
* Loyalty points that users receive after purchasing the item. Japan only.
* @param loyaltyPoints loyaltyPoints or {@code null} for none
*/
public Product setLoyaltyPoints(LoyaltyPoints loyaltyPoints) {
this.loyaltyPoints = loyaltyPoints;
return this;
}
/**
* The material of which the item is made.
* @return value or {@code null} for none
*/
public java.lang.String getMaterial() {
return material;
}
/**
* The material of which the item is made.
* @param material material or {@code null} for none
*/
public Product setMaterial(java.lang.String material) {
this.material = material;
return this;
}
/**
* The energy efficiency class as defined in EU directive 2010/30/EU.
* @return value or {@code null} for none
*/
public java.lang.String getMaxEnergyEfficiencyClass() {
return maxEnergyEfficiencyClass;
}
/**
* The energy efficiency class as defined in EU directive 2010/30/EU.
* @param maxEnergyEfficiencyClass maxEnergyEfficiencyClass or {@code null} for none
*/
public Product setMaxEnergyEfficiencyClass(java.lang.String maxEnergyEfficiencyClass) {
this.maxEnergyEfficiencyClass = maxEnergyEfficiencyClass;
return this;
}
/**
* Maximal product handling time (in business days).
* @return value or {@code null} for none
*/
public java.lang.Long getMaxHandlingTime() {
return maxHandlingTime;
}
/**
* Maximal product handling time (in business days).
* @param maxHandlingTime maxHandlingTime or {@code null} for none
*/
public Product setMaxHandlingTime(java.lang.Long maxHandlingTime) {
this.maxHandlingTime = maxHandlingTime;
return this;
}
/**
* The energy efficiency class as defined in EU directive 2010/30/EU.
* @return value or {@code null} for none
*/
public java.lang.String getMinEnergyEfficiencyClass() {
return minEnergyEfficiencyClass;
}
/**
* The energy efficiency class as defined in EU directive 2010/30/EU.
* @param minEnergyEfficiencyClass minEnergyEfficiencyClass or {@code null} for none
*/
public Product setMinEnergyEfficiencyClass(java.lang.String minEnergyEfficiencyClass) {
this.minEnergyEfficiencyClass = minEnergyEfficiencyClass;
return this;
}
/**
* Minimal product handling time (in business days).
* @return value or {@code null} for none
*/
public java.lang.Long getMinHandlingTime() {
return minHandlingTime;
}
/**
* Minimal product handling time (in business days).
* @param minHandlingTime minHandlingTime or {@code null} for none
*/
public Product setMinHandlingTime(java.lang.Long minHandlingTime) {
this.minHandlingTime = minHandlingTime;
return this;
}
/**
* Link to a mobile-optimized version of the landing page.
* @return value or {@code null} for none
*/
public java.lang.String getMobileLink() {
return mobileLink;
}
/**
* Link to a mobile-optimized version of the landing page.
* @param mobileLink mobileLink or {@code null} for none
*/
public Product setMobileLink(java.lang.String mobileLink) {
this.mobileLink = mobileLink;
return this;
}
/**
* Manufacturer Part Number (MPN) of the item.
* @return value or {@code null} for none
*/
public java.lang.String getMpn() {
return mpn;
}
/**
* Manufacturer Part Number (MPN) of the item.
* @param mpn mpn or {@code null} for none
*/
public Product setMpn(java.lang.String mpn) {
this.mpn = mpn;
return this;
}
/**
* The number of identical products in a merchant-defined multipack.
* @return value or {@code null} for none
*/
public java.lang.Long getMultipack() {
return multipack;
}
/**
* The number of identical products in a merchant-defined multipack.
* @param multipack multipack or {@code null} for none
*/
public Product setMultipack(java.lang.Long multipack) {
this.multipack = multipack;
return this;
}
/**
* A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple
* whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters
* are accepted. See the products feed specification for details. Note: Content API methods that
* operate on products take the REST ID of the product, not this identifier.
* @return value or {@code null} for none
*/
public java.lang.String getOfferId() {
return offerId;
}
/**
* A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple
* whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters
* are accepted. See the products feed specification for details. Note: Content API methods that
* operate on products take the REST ID of the product, not this identifier.
* @param offerId offerId or {@code null} for none
*/
public Product setOfferId(java.lang.String offerId) {
this.offerId = offerId;
return this;
}
/**
* The item's pattern (e.g. polka dots).
* @return value or {@code null} for none
*/
public java.lang.String getPattern() {
return pattern;
}
/**
* The item's pattern (e.g. polka dots).
* @param pattern pattern or {@code null} for none
*/
public Product setPattern(java.lang.String pattern) {
this.pattern = pattern;
return this;
}
/**
* Price of the item.
* @return value or {@code null} for none
*/
public Price getPrice() {
return price;
}
/**
* Price of the item.
* @param price price or {@code null} for none
*/
public Product setPrice(Price price) {
this.price = price;
return this;
}
/**
* Categories of the item (formatted as in products data specification).
* @return value or {@code null} for none
*/
public java.util.List getProductTypes() {
return productTypes;
}
/**
* Categories of the item (formatted as in products data specification).
* @param productTypes productTypes or {@code null} for none
*/
public Product setProductTypes(java.util.List productTypes) {
this.productTypes = productTypes;
return this;
}
/**
* The unique ID of a promotion.
* @return value or {@code null} for none
*/
public java.util.List getPromotionIds() {
return promotionIds;
}
/**
* The unique ID of a promotion.
* @param promotionIds promotionIds or {@code null} for none
*/
public Product setPromotionIds(java.util.List promotionIds) {
this.promotionIds = promotionIds;
return this;
}
/**
* Advertised sale price of the item.
* @return value or {@code null} for none
*/
public Price getSalePrice() {
return salePrice;
}
/**
* Advertised sale price of the item.
* @param salePrice salePrice or {@code null} for none
*/
public Product setSalePrice(Price salePrice) {
this.salePrice = salePrice;
return this;
}
/**
* Date range during which the item is on sale (see products data specification).
* @return value or {@code null} for none
*/
public java.lang.String getSalePriceEffectiveDate() {
return salePriceEffectiveDate;
}
/**
* Date range during which the item is on sale (see products data specification).
* @param salePriceEffectiveDate salePriceEffectiveDate or {@code null} for none
*/
public Product setSalePriceEffectiveDate(java.lang.String salePriceEffectiveDate) {
this.salePriceEffectiveDate = salePriceEffectiveDate;
return this;
}
/**
* The quantity of the product that is available for selling on Google. Supported only for online
* products.
* @return value or {@code null} for none
*/
public java.lang.Long getSellOnGoogleQuantity() {
return sellOnGoogleQuantity;
}
/**
* The quantity of the product that is available for selling on Google. Supported only for online
* products.
* @param sellOnGoogleQuantity sellOnGoogleQuantity or {@code null} for none
*/
public Product setSellOnGoogleQuantity(java.lang.Long sellOnGoogleQuantity) {
this.sellOnGoogleQuantity = sellOnGoogleQuantity;
return this;
}
/**
* Shipping rules.
* @return value or {@code null} for none
*/
public java.util.List getShipping() {
return shipping;
}
/**
* Shipping rules.
* @param shipping shipping or {@code null} for none
*/
public Product setShipping(java.util.List shipping) {
this.shipping = shipping;
return this;
}
/**
* Height of the item for shipping.
* @return value or {@code null} for none
*/
public ProductShippingDimension getShippingHeight() {
return shippingHeight;
}
/**
* Height of the item for shipping.
* @param shippingHeight shippingHeight or {@code null} for none
*/
public Product setShippingHeight(ProductShippingDimension shippingHeight) {
this.shippingHeight = shippingHeight;
return this;
}
/**
* The shipping label of the product, used to group product in account-level shipping rules.
* @return value or {@code null} for none
*/
public java.lang.String getShippingLabel() {
return shippingLabel;
}
/**
* The shipping label of the product, used to group product in account-level shipping rules.
* @param shippingLabel shippingLabel or {@code null} for none
*/
public Product setShippingLabel(java.lang.String shippingLabel) {
this.shippingLabel = shippingLabel;
return this;
}
/**
* Length of the item for shipping.
* @return value or {@code null} for none
*/
public ProductShippingDimension getShippingLength() {
return shippingLength;
}
/**
* Length of the item for shipping.
* @param shippingLength shippingLength or {@code null} for none
*/
public Product setShippingLength(ProductShippingDimension shippingLength) {
this.shippingLength = shippingLength;
return this;
}
/**
* Weight of the item for shipping.
* @return value or {@code null} for none
*/
public ProductShippingWeight getShippingWeight() {
return shippingWeight;
}
/**
* Weight of the item for shipping.
* @param shippingWeight shippingWeight or {@code null} for none
*/
public Product setShippingWeight(ProductShippingWeight shippingWeight) {
this.shippingWeight = shippingWeight;
return this;
}
/**
* Width of the item for shipping.
* @return value or {@code null} for none
*/
public ProductShippingDimension getShippingWidth() {
return shippingWidth;
}
/**
* Width of the item for shipping.
* @param shippingWidth shippingWidth or {@code null} for none
*/
public Product setShippingWidth(ProductShippingDimension shippingWidth) {
this.shippingWidth = shippingWidth;
return this;
}
/**
* System in which the size is specified. Recommended for apparel items.
* @return value or {@code null} for none
*/
public java.lang.String getSizeSystem() {
return sizeSystem;
}
/**
* System in which the size is specified. Recommended for apparel items.
* @param sizeSystem sizeSystem or {@code null} for none
*/
public Product setSizeSystem(java.lang.String sizeSystem) {
this.sizeSystem = sizeSystem;
return this;
}
/**
* The cut of the item. Recommended for apparel items.
* @return value or {@code null} for none
*/
public java.lang.String getSizeType() {
return sizeType;
}
/**
* The cut of the item. Recommended for apparel items.
* @param sizeType sizeType or {@code null} for none
*/
public Product setSizeType(java.lang.String sizeType) {
this.sizeType = sizeType;
return this;
}
/**
* Size of the item.
* @return value or {@code null} for none
*/
public java.util.List getSizes() {
return sizes;
}
/**
* Size of the item.
* @param sizes sizes or {@code null} for none
*/
public Product setSizes(java.util.List sizes) {
this.sizes = sizes;
return this;
}
/**
* The source of the offer, i.e., how the offer was created.
* @return value or {@code null} for none
*/
public java.lang.String getSource() {
return source;
}
/**
* The source of the offer, i.e., how the offer was created.
* @param source source or {@code null} for none
*/
public Product setSource(java.lang.String source) {
this.source = source;
return this;
}
/**
* The CLDR territory code for the item.
* @return value or {@code null} for none
*/
public java.lang.String getTargetCountry() {
return targetCountry;
}
/**
* The CLDR territory code for the item.
* @param targetCountry targetCountry or {@code null} for none
*/
public Product setTargetCountry(java.lang.String targetCountry) {
this.targetCountry = targetCountry;
return this;
}
/**
* The tax category of the product, used to configure detailed tax nexus in account-level tax
* settings.
* @return value or {@code null} for none
*/
public java.lang.String getTaxCategory() {
return taxCategory;
}
/**
* The tax category of the product, used to configure detailed tax nexus in account-level tax
* settings.
* @param taxCategory taxCategory or {@code null} for none
*/
public Product setTaxCategory(java.lang.String taxCategory) {
this.taxCategory = taxCategory;
return this;
}
/**
* Tax information.
* @return value or {@code null} for none
*/
public java.util.List getTaxes() {
return taxes;
}
/**
* Tax information.
* @param taxes taxes or {@code null} for none
*/
public Product setTaxes(java.util.List taxes) {
this.taxes = taxes;
return this;
}
/**
* Title of the item.
* @return value or {@code null} for none
*/
public java.lang.String getTitle() {
return title;
}
/**
* Title of the item.
* @param title title or {@code null} for none
*/
public Product setTitle(java.lang.String title) {
this.title = title;
return this;
}
/**
* The transit time label of the product, used to group product in account-level transit time
* tables.
* @return value or {@code null} for none
*/
public java.lang.String getTransitTimeLabel() {
return transitTimeLabel;
}
/**
* The transit time label of the product, used to group product in account-level transit time
* tables.
* @param transitTimeLabel transitTimeLabel or {@code null} for none
*/
public Product setTransitTimeLabel(java.lang.String transitTimeLabel) {
this.transitTimeLabel = transitTimeLabel;
return this;
}
/**
* The preference of the denominator of the unit price.
* @return value or {@code null} for none
*/
public ProductUnitPricingBaseMeasure getUnitPricingBaseMeasure() {
return unitPricingBaseMeasure;
}
/**
* The preference of the denominator of the unit price.
* @param unitPricingBaseMeasure unitPricingBaseMeasure or {@code null} for none
*/
public Product setUnitPricingBaseMeasure(ProductUnitPricingBaseMeasure unitPricingBaseMeasure) {
this.unitPricingBaseMeasure = unitPricingBaseMeasure;
return this;
}
/**
* The measure and dimension of an item.
* @return value or {@code null} for none
*/
public ProductUnitPricingMeasure getUnitPricingMeasure() {
return unitPricingMeasure;
}
/**
* The measure and dimension of an item.
* @param unitPricingMeasure unitPricingMeasure or {@code null} for none
*/
public Product setUnitPricingMeasure(ProductUnitPricingMeasure unitPricingMeasure) {
this.unitPricingMeasure = unitPricingMeasure;
return this;
}
@Override
public Product set(String fieldName, Object value) {
return (Product) super.set(fieldName, value);
}
@Override
public Product clone() {
return (Product) super.clone();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy