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

com.stripe.model.Product Maven / Gradle / Ivy

There is a newer version: 26.13.0-beta.1
Show newest version
// Generated by delombok at Thu Jun 02 19:41:53 UTC 2022
// File generated from our OpenAPI spec
package com.stripe.model;

import com.google.gson.annotations.SerializedName;
import com.stripe.Stripe;
import com.stripe.exception.StripeException;
import com.stripe.net.ApiResource;
import com.stripe.net.RequestOptions;
import com.stripe.param.ProductCreateParams;
import com.stripe.param.ProductListParams;
import com.stripe.param.ProductRetrieveParams;
import com.stripe.param.ProductSearchParams;
import com.stripe.param.ProductUpdateParams;
import java.util.List;
import java.util.Map;

public class Product extends ApiResource implements HasId, MetadataStore {
  /**
   * Whether the product is currently available for purchase.
   */
  @SerializedName("active")
  Boolean active;
  /**
   * A list of up to 5 attributes that each SKU can provide values for (e.g., {@code ["color",
   * "size"]}).
   */
  @SerializedName("attributes")
  List attributes;
  /**
   * A short one-line description of the product, meant to be displayable to the customer. Only
   * applicable to products of {@code type=good}.
   */
  @SerializedName("caption")
  String caption;
  /**
   * Time at which the object was created. Measured in seconds since the Unix epoch.
   */
  @SerializedName("created")
  Long created;
  /**
   * An array of connect application identifiers that cannot purchase this product. Only applicable
   * to products of {@code type=good}.
   */
  @SerializedName("deactivate_on")
  List deactivateOn;
  /**
   * The ID of the Price object that is the default
   * price for this product.
   */
  @SerializedName("default_price")
  ExpandableField defaultPrice;
  /**
   * Always true for a deleted object.
   */
  @SerializedName("deleted")
  Boolean deleted;
  /**
   * The product's description, meant to be displayable to the customer. Use this field to
   * optionally store a long form explanation of the product being sold for your own rendering
   * purposes.
   */
  @SerializedName("description")
  String description;
  /**
   * Unique identifier for the object.
   */
  @SerializedName("id")
  String id;
  /**
   * A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
   */
  @SerializedName("images")
  List images;
  /**
   * Has the value {@code true} if the object exists in live mode or the value {@code false} if the
   * object exists in test mode.
   */
  @SerializedName("livemode")
  Boolean livemode;
  /**
   * Set of key-value pairs that you can attach
   * to an object. This can be useful for storing additional information about the object in a
   * structured format.
   */
  @SerializedName("metadata")
  Map metadata;
  /**
   * The product's name, meant to be displayable to the customer.
   */
  @SerializedName("name")
  String name;
  /**
   * String representing the object's type. Objects of the same type share the same value.
   *
   * 

Equal to {@code product}. */ @SerializedName("object") String object; /** * The dimensions of this product for shipping purposes. */ @SerializedName("package_dimensions") PackageDimensions packageDimensions; /** * Whether this product is shipped (i.e., physical goods). */ @SerializedName("shippable") Boolean shippable; /** * Extra information about a product which will appear on your customer's credit card statement. * In the case that multiple products are billed at once, the first statement descriptor will be * used. */ @SerializedName("statement_descriptor") String statementDescriptor; /** * A tax code ID. */ @SerializedName("tax_code") ExpandableField taxCode; /** * The type of the product. The product is either of type {@code good}, which is eligible for use * with Orders and SKUs, or {@code service}, which is eligible for use with Subscriptions and * Plans. * *

One of {@code good}, or {@code service}. */ @SerializedName("type") String type; /** * A label that represents units of this product in Stripe and on customers’ receipts and * invoices. When set, this will be included in associated invoice line item descriptions. */ @SerializedName("unit_label") String unitLabel; /** * Time at which the object was last updated. Measured in seconds since the Unix epoch. */ @SerializedName("updated") Long updated; /** * A URL of a publicly-accessible webpage for this product. */ @SerializedName("url") String url; /** * Get ID of expandable {@code defaultPrice} object. */ public String getDefaultPrice() { return (this.defaultPrice != null) ? this.defaultPrice.getId() : null; } public void setDefaultPrice(String id) { this.defaultPrice = ApiResource.setExpandableFieldId(id, this.defaultPrice); } /** * Get expanded {@code defaultPrice}. */ public Price getDefaultPriceObject() { return (this.defaultPrice != null) ? this.defaultPrice.getExpanded() : null; } public void setDefaultPriceObject(Price expandableObject) { this.defaultPrice = new ExpandableField(expandableObject.getId(), expandableObject); } /** * Get ID of expandable {@code taxCode} object. */ public String getTaxCode() { return (this.taxCode != null) ? this.taxCode.getId() : null; } public void setTaxCode(String id) { this.taxCode = ApiResource.setExpandableFieldId(id, this.taxCode); } /** * Get expanded {@code taxCode}. */ public TaxCode getTaxCodeObject() { return (this.taxCode != null) ? this.taxCode.getExpanded() : null; } public void setTaxCodeObject(TaxCode expandableObject) { this.taxCode = new ExpandableField(expandableObject.getId(), expandableObject); } /** * Search for products you’ve previously created using Stripe’s Search Query Language. Don’t * use search in read-after-write flows where strict consistency is necessary. Under normal * operating conditions, data is searchable in less than a minute. Occasionally, propagation of * new or updated data can be up to an hour behind during outages. Search functionality is not * available to merchants in India. */ public static ProductSearchResult search(Map params) throws StripeException { return search(params, (RequestOptions) null); } /** * Search for products you’ve previously created using Stripe’s Search Query Language. Don’t * use search in read-after-write flows where strict consistency is necessary. Under normal * operating conditions, data is searchable in less than a minute. Occasionally, propagation of * new or updated data can be up to an hour behind during outages. Search functionality is not * available to merchants in India. */ public static ProductSearchResult search(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), "/v1/products/search"); return ApiResource.requestSearchResult(url, params, ProductSearchResult.class, options); } /** * Search for products you’ve previously created using Stripe’s Search Query Language. Don’t * use search in read-after-write flows where strict consistency is necessary. Under normal * operating conditions, data is searchable in less than a minute. Occasionally, propagation of * new or updated data can be up to an hour behind during outages. Search functionality is not * available to merchants in India. */ public static ProductSearchResult search(ProductSearchParams params) throws StripeException { return search(params, (RequestOptions) null); } /** * Search for products you’ve previously created using Stripe’s Search Query Language. Don’t * use search in read-after-write flows where strict consistency is necessary. Under normal * operating conditions, data is searchable in less than a minute. Occasionally, propagation of * new or updated data can be up to an hour behind during outages. Search functionality is not * available to merchants in India. */ public static ProductSearchResult search(ProductSearchParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), "/v1/products/search"); return ApiResource.requestSearchResult(url, params, ProductSearchResult.class, options); } /** * Creates a new product object. */ public static Product create(Map params) throws StripeException { return create(params, (RequestOptions) null); } /** * Creates a new product object. */ public static Product create(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), "/v1/products"); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, Product.class, options); } /** * Creates a new product object. */ public static Product create(ProductCreateParams params) throws StripeException { return create(params, (RequestOptions) null); } /** * Creates a new product object. */ public static Product create(ProductCreateParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), "/v1/products"); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, Product.class, options); } /** * Retrieves the details of an existing product. Supply the unique product ID from either a * product creation request or the product list, and Stripe will return the corresponding product * information. */ public static Product retrieve(String id) throws StripeException { return retrieve(id, (Map) null, (RequestOptions) null); } /** * Retrieves the details of an existing product. Supply the unique product ID from either a * product creation request or the product list, and Stripe will return the corresponding product * information. */ public static Product retrieve(String id, RequestOptions options) throws StripeException { return retrieve(id, (Map) null, options); } /** * Retrieves the details of an existing product. Supply the unique product ID from either a * product creation request or the product list, and Stripe will return the corresponding product * information. */ public static Product retrieve(String id, Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/products/%s", ApiResource.urlEncodeId(id))); return ApiResource.request(ApiResource.RequestMethod.GET, url, params, Product.class, options); } /** * Retrieves the details of an existing product. Supply the unique product ID from either a * product creation request or the product list, and Stripe will return the corresponding product * information. */ public static Product retrieve(String id, ProductRetrieveParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/products/%s", ApiResource.urlEncodeId(id))); return ApiResource.request(ApiResource.RequestMethod.GET, url, params, Product.class, options); } /** * Updates the specific product by setting the values of the parameters passed. Any parameters not * provided will be left unchanged. */ @Override public Product update(Map params) throws StripeException { return update(params, (RequestOptions) null); } /** * Updates the specific product by setting the values of the parameters passed. Any parameters not * provided will be left unchanged. */ @Override public Product update(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/products/%s", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, Product.class, options); } /** * Updates the specific product by setting the values of the parameters passed. Any parameters not * provided will be left unchanged. */ public Product update(ProductUpdateParams params) throws StripeException { return update(params, (RequestOptions) null); } /** * Updates the specific product by setting the values of the parameters passed. Any parameters not * provided will be left unchanged. */ public Product update(ProductUpdateParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/products/%s", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, Product.class, options); } /** * Returns a list of your products. The products are returned sorted by creation date, with the * most recently created products appearing first. */ public static ProductCollection list(Map params) throws StripeException { return list(params, (RequestOptions) null); } /** * Returns a list of your products. The products are returned sorted by creation date, with the * most recently created products appearing first. */ public static ProductCollection list(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), "/v1/products"); return ApiResource.requestCollection(url, params, ProductCollection.class, options); } /** * Returns a list of your products. The products are returned sorted by creation date, with the * most recently created products appearing first. */ public static ProductCollection list(ProductListParams params) throws StripeException { return list(params, (RequestOptions) null); } /** * Returns a list of your products. The products are returned sorted by creation date, with the * most recently created products appearing first. */ public static ProductCollection list(ProductListParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), "/v1/products"); return ApiResource.requestCollection(url, params, ProductCollection.class, options); } /** * Delete a product. Deleting a product is only possible if it has no prices associated with it. * Additionally, deleting a product with type=good is only possible if it has no SKUs * associated with it. */ public Product delete() throws StripeException { return delete((Map) null, (RequestOptions) null); } /** * Delete a product. Deleting a product is only possible if it has no prices associated with it. * Additionally, deleting a product with type=good is only possible if it has no SKUs * associated with it. */ public Product delete(RequestOptions options) throws StripeException { return delete((Map) null, options); } /** * Delete a product. Deleting a product is only possible if it has no prices associated with it. * Additionally, deleting a product with type=good is only possible if it has no SKUs * associated with it. */ public Product delete(Map params) throws StripeException { return delete(params, (RequestOptions) null); } /** * Delete a product. Deleting a product is only possible if it has no prices associated with it. * Additionally, deleting a product with type=good is only possible if it has no SKUs * associated with it. */ public Product delete(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/products/%s", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.DELETE, url, params, Product.class, options); } /** * Whether the product is currently available for purchase. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Boolean getActive() { return this.active; } /** * A list of up to 5 attributes that each SKU can provide values for (e.g., {@code ["color", * "size"]}). */ @java.lang.SuppressWarnings("all") @lombok.Generated public List getAttributes() { return this.attributes; } /** * A short one-line description of the product, meant to be displayable to the customer. Only * applicable to products of {@code type=good}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getCaption() { return this.caption; } /** * Time at which the object was created. Measured in seconds since the Unix epoch. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getCreated() { return this.created; } /** * An array of connect application identifiers that cannot purchase this product. Only applicable * to products of {@code type=good}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public List getDeactivateOn() { return this.deactivateOn; } /** * Always true for a deleted object. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Boolean getDeleted() { return this.deleted; } /** * The product's description, meant to be displayable to the customer. Use this field to * optionally store a long form explanation of the product being sold for your own rendering * purposes. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getDescription() { return this.description; } /** * A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ @java.lang.SuppressWarnings("all") @lombok.Generated public List getImages() { return this.images; } /** * Has the value {@code true} if the object exists in live mode or the value {@code false} if the * object exists in test mode. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Boolean getLivemode() { return this.livemode; } /** * The product's name, meant to be displayable to the customer. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getName() { return this.name; } /** * String representing the object's type. Objects of the same type share the same value. * *

Equal to {@code product}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getObject() { return this.object; } /** * The dimensions of this product for shipping purposes. */ @java.lang.SuppressWarnings("all") @lombok.Generated public PackageDimensions getPackageDimensions() { return this.packageDimensions; } /** * Whether this product is shipped (i.e., physical goods). */ @java.lang.SuppressWarnings("all") @lombok.Generated public Boolean getShippable() { return this.shippable; } /** * Extra information about a product which will appear on your customer's credit card statement. * In the case that multiple products are billed at once, the first statement descriptor will be * used. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getStatementDescriptor() { return this.statementDescriptor; } /** * The type of the product. The product is either of type {@code good}, which is eligible for use * with Orders and SKUs, or {@code service}, which is eligible for use with Subscriptions and * Plans. * *

One of {@code good}, or {@code service}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getType() { return this.type; } /** * A label that represents units of this product in Stripe and on customers’ receipts and * invoices. When set, this will be included in associated invoice line item descriptions. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getUnitLabel() { return this.unitLabel; } /** * Time at which the object was last updated. Measured in seconds since the Unix epoch. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getUpdated() { return this.updated; } /** * A URL of a publicly-accessible webpage for this product. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getUrl() { return this.url; } /** * Whether the product is currently available for purchase. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setActive(final Boolean active) { this.active = active; } /** * A list of up to 5 attributes that each SKU can provide values for (e.g., {@code ["color", * "size"]}). */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setAttributes(final List attributes) { this.attributes = attributes; } /** * A short one-line description of the product, meant to be displayable to the customer. Only * applicable to products of {@code type=good}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setCaption(final String caption) { this.caption = caption; } /** * Time at which the object was created. Measured in seconds since the Unix epoch. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setCreated(final Long created) { this.created = created; } /** * An array of connect application identifiers that cannot purchase this product. Only applicable * to products of {@code type=good}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setDeactivateOn(final List deactivateOn) { this.deactivateOn = deactivateOn; } /** * Always true for a deleted object. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setDeleted(final Boolean deleted) { this.deleted = deleted; } /** * The product's description, meant to be displayable to the customer. Use this field to * optionally store a long form explanation of the product being sold for your own rendering * purposes. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setDescription(final String description) { this.description = description; } /** * Unique identifier for the object. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setId(final String id) { this.id = id; } /** * A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setImages(final List images) { this.images = images; } /** * Has the value {@code true} if the object exists in live mode or the value {@code false} if the * object exists in test mode. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setLivemode(final Boolean livemode) { this.livemode = livemode; } /** * Set of key-value pairs that you can attach * to an object. This can be useful for storing additional information about the object in a * structured format. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setMetadata(final Map metadata) { this.metadata = metadata; } /** * The product's name, meant to be displayable to the customer. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setName(final String name) { this.name = name; } /** * String representing the object's type. Objects of the same type share the same value. * *

Equal to {@code product}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setObject(final String object) { this.object = object; } /** * The dimensions of this product for shipping purposes. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setPackageDimensions(final PackageDimensions packageDimensions) { this.packageDimensions = packageDimensions; } /** * Whether this product is shipped (i.e., physical goods). */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setShippable(final Boolean shippable) { this.shippable = shippable; } /** * Extra information about a product which will appear on your customer's credit card statement. * In the case that multiple products are billed at once, the first statement descriptor will be * used. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setStatementDescriptor(final String statementDescriptor) { this.statementDescriptor = statementDescriptor; } /** * The type of the product. The product is either of type {@code good}, which is eligible for use * with Orders and SKUs, or {@code service}, which is eligible for use with Subscriptions and * Plans. * *

One of {@code good}, or {@code service}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setType(final String type) { this.type = type; } /** * A label that represents units of this product in Stripe and on customers’ receipts and * invoices. When set, this will be included in associated invoice line item descriptions. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setUnitLabel(final String unitLabel) { this.unitLabel = unitLabel; } /** * Time at which the object was last updated. Measured in seconds since the Unix epoch. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setUpdated(final Long updated) { this.updated = updated; } /** * A URL of a publicly-accessible webpage for this product. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setUrl(final String url) { this.url = url; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof Product)) return false; final Product other = (Product) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$active = this.getActive(); final java.lang.Object other$active = other.getActive(); if (this$active == null ? other$active != null : !this$active.equals(other$active)) return false; final java.lang.Object this$created = this.getCreated(); final java.lang.Object other$created = other.getCreated(); if (this$created == null ? other$created != null : !this$created.equals(other$created)) return false; final java.lang.Object this$deleted = this.getDeleted(); final java.lang.Object other$deleted = other.getDeleted(); if (this$deleted == null ? other$deleted != null : !this$deleted.equals(other$deleted)) return false; final java.lang.Object this$livemode = this.getLivemode(); final java.lang.Object other$livemode = other.getLivemode(); if (this$livemode == null ? other$livemode != null : !this$livemode.equals(other$livemode)) return false; final java.lang.Object this$shippable = this.getShippable(); final java.lang.Object other$shippable = other.getShippable(); if (this$shippable == null ? other$shippable != null : !this$shippable.equals(other$shippable)) return false; final java.lang.Object this$updated = this.getUpdated(); final java.lang.Object other$updated = other.getUpdated(); if (this$updated == null ? other$updated != null : !this$updated.equals(other$updated)) return false; final java.lang.Object this$attributes = this.getAttributes(); final java.lang.Object other$attributes = other.getAttributes(); if (this$attributes == null ? other$attributes != null : !this$attributes.equals(other$attributes)) return false; final java.lang.Object this$caption = this.getCaption(); final java.lang.Object other$caption = other.getCaption(); if (this$caption == null ? other$caption != null : !this$caption.equals(other$caption)) return false; final java.lang.Object this$deactivateOn = this.getDeactivateOn(); final java.lang.Object other$deactivateOn = other.getDeactivateOn(); if (this$deactivateOn == null ? other$deactivateOn != null : !this$deactivateOn.equals(other$deactivateOn)) return false; final java.lang.Object this$defaultPrice = this.getDefaultPrice(); final java.lang.Object other$defaultPrice = other.getDefaultPrice(); if (this$defaultPrice == null ? other$defaultPrice != null : !this$defaultPrice.equals(other$defaultPrice)) return false; final java.lang.Object this$description = this.getDescription(); final java.lang.Object other$description = other.getDescription(); if (this$description == null ? other$description != null : !this$description.equals(other$description)) return false; final java.lang.Object this$id = this.getId(); final java.lang.Object other$id = other.getId(); if (this$id == null ? other$id != null : !this$id.equals(other$id)) return false; final java.lang.Object this$images = this.getImages(); final java.lang.Object other$images = other.getImages(); if (this$images == null ? other$images != null : !this$images.equals(other$images)) return false; final java.lang.Object this$metadata = this.getMetadata(); final java.lang.Object other$metadata = other.getMetadata(); if (this$metadata == null ? other$metadata != null : !this$metadata.equals(other$metadata)) return false; final java.lang.Object this$name = this.getName(); final java.lang.Object other$name = other.getName(); if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false; final java.lang.Object this$object = this.getObject(); final java.lang.Object other$object = other.getObject(); if (this$object == null ? other$object != null : !this$object.equals(other$object)) return false; final java.lang.Object this$packageDimensions = this.getPackageDimensions(); final java.lang.Object other$packageDimensions = other.getPackageDimensions(); if (this$packageDimensions == null ? other$packageDimensions != null : !this$packageDimensions.equals(other$packageDimensions)) return false; final java.lang.Object this$statementDescriptor = this.getStatementDescriptor(); final java.lang.Object other$statementDescriptor = other.getStatementDescriptor(); if (this$statementDescriptor == null ? other$statementDescriptor != null : !this$statementDescriptor.equals(other$statementDescriptor)) return false; final java.lang.Object this$taxCode = this.getTaxCode(); final java.lang.Object other$taxCode = other.getTaxCode(); if (this$taxCode == null ? other$taxCode != null : !this$taxCode.equals(other$taxCode)) return false; final java.lang.Object this$type = this.getType(); final java.lang.Object other$type = other.getType(); if (this$type == null ? other$type != null : !this$type.equals(other$type)) return false; final java.lang.Object this$unitLabel = this.getUnitLabel(); final java.lang.Object other$unitLabel = other.getUnitLabel(); if (this$unitLabel == null ? other$unitLabel != null : !this$unitLabel.equals(other$unitLabel)) return false; final java.lang.Object this$url = this.getUrl(); final java.lang.Object other$url = other.getUrl(); if (this$url == null ? other$url != null : !this$url.equals(other$url)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof Product; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $active = this.getActive(); result = result * PRIME + ($active == null ? 43 : $active.hashCode()); final java.lang.Object $created = this.getCreated(); result = result * PRIME + ($created == null ? 43 : $created.hashCode()); final java.lang.Object $deleted = this.getDeleted(); result = result * PRIME + ($deleted == null ? 43 : $deleted.hashCode()); final java.lang.Object $livemode = this.getLivemode(); result = result * PRIME + ($livemode == null ? 43 : $livemode.hashCode()); final java.lang.Object $shippable = this.getShippable(); result = result * PRIME + ($shippable == null ? 43 : $shippable.hashCode()); final java.lang.Object $updated = this.getUpdated(); result = result * PRIME + ($updated == null ? 43 : $updated.hashCode()); final java.lang.Object $attributes = this.getAttributes(); result = result * PRIME + ($attributes == null ? 43 : $attributes.hashCode()); final java.lang.Object $caption = this.getCaption(); result = result * PRIME + ($caption == null ? 43 : $caption.hashCode()); final java.lang.Object $deactivateOn = this.getDeactivateOn(); result = result * PRIME + ($deactivateOn == null ? 43 : $deactivateOn.hashCode()); final java.lang.Object $defaultPrice = this.getDefaultPrice(); result = result * PRIME + ($defaultPrice == null ? 43 : $defaultPrice.hashCode()); final java.lang.Object $description = this.getDescription(); result = result * PRIME + ($description == null ? 43 : $description.hashCode()); final java.lang.Object $id = this.getId(); result = result * PRIME + ($id == null ? 43 : $id.hashCode()); final java.lang.Object $images = this.getImages(); result = result * PRIME + ($images == null ? 43 : $images.hashCode()); final java.lang.Object $metadata = this.getMetadata(); result = result * PRIME + ($metadata == null ? 43 : $metadata.hashCode()); final java.lang.Object $name = this.getName(); result = result * PRIME + ($name == null ? 43 : $name.hashCode()); final java.lang.Object $object = this.getObject(); result = result * PRIME + ($object == null ? 43 : $object.hashCode()); final java.lang.Object $packageDimensions = this.getPackageDimensions(); result = result * PRIME + ($packageDimensions == null ? 43 : $packageDimensions.hashCode()); final java.lang.Object $statementDescriptor = this.getStatementDescriptor(); result = result * PRIME + ($statementDescriptor == null ? 43 : $statementDescriptor.hashCode()); final java.lang.Object $taxCode = this.getTaxCode(); result = result * PRIME + ($taxCode == null ? 43 : $taxCode.hashCode()); final java.lang.Object $type = this.getType(); result = result * PRIME + ($type == null ? 43 : $type.hashCode()); final java.lang.Object $unitLabel = this.getUnitLabel(); result = result * PRIME + ($unitLabel == null ? 43 : $unitLabel.hashCode()); final java.lang.Object $url = this.getUrl(); result = result * PRIME + ($url == null ? 43 : $url.hashCode()); return result; } /** * Unique identifier for the object. */ @Override @java.lang.SuppressWarnings("all") @lombok.Generated public String getId() { return this.id; } /** * Set of key-value pairs that you can attach * to an object. This can be useful for storing additional information about the object in a * structured format. */ @Override @java.lang.SuppressWarnings("all") @lombok.Generated public Map getMetadata() { return this.metadata; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy