Interface ProductOrBuilder

  • All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    Product, Product.Builder

    public interface ProductOrBuilder
    extends com.google.protobuf.MessageOrBuilder
    • Method Detail

      • hasExpireTime

        boolean hasExpireTime()
         The timestamp when this product becomes unavailable for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search]. Note
         that this is only applicable to
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], and
         ignored for [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT].
         In general, we suggest the users to delete the stale products explicitly,
         instead of using this field to determine staleness.
        
         If it is set, the [Product][google.cloud.retail.v2.Product] is not
         available for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search] after
         [expire_time][google.cloud.retail.v2.Product.expire_time]. However, the
         product can still be retrieved by
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
         and
         [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
        
         [expire_time][google.cloud.retail.v2.Product.expire_time] must be later
         than [available_time][google.cloud.retail.v2.Product.available_time] and
         [publish_time][google.cloud.retail.v2.Product.publish_time], otherwise an
         INVALID_ARGUMENT error is thrown.
        
         Corresponding properties: Google Merchant Center property
         [expiration_date](https://support.google.com/merchants/answer/6324499).
         
        .google.protobuf.Timestamp expire_time = 16;
        Returns:
        Whether the expireTime field is set.
      • getExpireTime

        com.google.protobuf.Timestamp getExpireTime()
         The timestamp when this product becomes unavailable for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search]. Note
         that this is only applicable to
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], and
         ignored for [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT].
         In general, we suggest the users to delete the stale products explicitly,
         instead of using this field to determine staleness.
        
         If it is set, the [Product][google.cloud.retail.v2.Product] is not
         available for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search] after
         [expire_time][google.cloud.retail.v2.Product.expire_time]. However, the
         product can still be retrieved by
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
         and
         [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
        
         [expire_time][google.cloud.retail.v2.Product.expire_time] must be later
         than [available_time][google.cloud.retail.v2.Product.available_time] and
         [publish_time][google.cloud.retail.v2.Product.publish_time], otherwise an
         INVALID_ARGUMENT error is thrown.
        
         Corresponding properties: Google Merchant Center property
         [expiration_date](https://support.google.com/merchants/answer/6324499).
         
        .google.protobuf.Timestamp expire_time = 16;
        Returns:
        The expireTime.
      • getExpireTimeOrBuilder

        com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder()
         The timestamp when this product becomes unavailable for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search]. Note
         that this is only applicable to
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], and
         ignored for [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT].
         In general, we suggest the users to delete the stale products explicitly,
         instead of using this field to determine staleness.
        
         If it is set, the [Product][google.cloud.retail.v2.Product] is not
         available for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search] after
         [expire_time][google.cloud.retail.v2.Product.expire_time]. However, the
         product can still be retrieved by
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
         and
         [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
        
         [expire_time][google.cloud.retail.v2.Product.expire_time] must be later
         than [available_time][google.cloud.retail.v2.Product.available_time] and
         [publish_time][google.cloud.retail.v2.Product.publish_time], otherwise an
         INVALID_ARGUMENT error is thrown.
        
         Corresponding properties: Google Merchant Center property
         [expiration_date](https://support.google.com/merchants/answer/6324499).
         
        .google.protobuf.Timestamp expire_time = 16;
      • hasTtl

        boolean hasTtl()
         Input only. The TTL (time to live) of the product. Note that this is only
         applicable to [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         and [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION],
         and ignored for
         [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]. In general,
         we suggest the users to delete the stale products explicitly, instead of
         using this field to determine staleness.
        
         If it is set, it must be a non-negative value, and
         [expire_time][google.cloud.retail.v2.Product.expire_time] is set as
         current timestamp plus [ttl][google.cloud.retail.v2.Product.ttl]. The
         derived [expire_time][google.cloud.retail.v2.Product.expire_time] is
         returned in the output and [ttl][google.cloud.retail.v2.Product.ttl] is
         left blank when retrieving the [Product][google.cloud.retail.v2.Product].
        
         If it is set, the product is not available for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search] after
         current timestamp plus [ttl][google.cloud.retail.v2.Product.ttl].
         However, the product can still be retrieved by
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
         and
         [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
         
        .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
        Returns:
        Whether the ttl field is set.
      • getTtl

        com.google.protobuf.Duration getTtl()
         Input only. The TTL (time to live) of the product. Note that this is only
         applicable to [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         and [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION],
         and ignored for
         [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]. In general,
         we suggest the users to delete the stale products explicitly, instead of
         using this field to determine staleness.
        
         If it is set, it must be a non-negative value, and
         [expire_time][google.cloud.retail.v2.Product.expire_time] is set as
         current timestamp plus [ttl][google.cloud.retail.v2.Product.ttl]. The
         derived [expire_time][google.cloud.retail.v2.Product.expire_time] is
         returned in the output and [ttl][google.cloud.retail.v2.Product.ttl] is
         left blank when retrieving the [Product][google.cloud.retail.v2.Product].
        
         If it is set, the product is not available for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search] after
         current timestamp plus [ttl][google.cloud.retail.v2.Product.ttl].
         However, the product can still be retrieved by
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
         and
         [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
         
        .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
        Returns:
        The ttl.
      • getTtlOrBuilder

        com.google.protobuf.DurationOrBuilder getTtlOrBuilder()
         Input only. The TTL (time to live) of the product. Note that this is only
         applicable to [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         and [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION],
         and ignored for
         [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]. In general,
         we suggest the users to delete the stale products explicitly, instead of
         using this field to determine staleness.
        
         If it is set, it must be a non-negative value, and
         [expire_time][google.cloud.retail.v2.Product.expire_time] is set as
         current timestamp plus [ttl][google.cloud.retail.v2.Product.ttl]. The
         derived [expire_time][google.cloud.retail.v2.Product.expire_time] is
         returned in the output and [ttl][google.cloud.retail.v2.Product.ttl] is
         left blank when retrieving the [Product][google.cloud.retail.v2.Product].
        
         If it is set, the product is not available for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search] after
         current timestamp plus [ttl][google.cloud.retail.v2.Product.ttl].
         However, the product can still be retrieved by
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
         and
         [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
         
        .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
      • getName

        String getName()
         Immutable. Full resource name of the product, such as
         `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
         
        string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
        Returns:
        The name.
      • getNameBytes

        com.google.protobuf.ByteString getNameBytes()
         Immutable. Full resource name of the product, such as
         `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
         
        string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
        Returns:
        The bytes for name.
      • getId

        String getId()
         Immutable. [Product][google.cloud.retail.v2.Product] identifier, which is
         the final component of [name][google.cloud.retail.v2.Product.name]. For
         example, this field is "id_1", if
         [name][google.cloud.retail.v2.Product.name] is
         `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
        
         This field must be a UTF-8 encoded string with a length limit of 128
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [id](https://support.google.com/merchants/answer/6324405). Schema.org
         property [Product.sku](https://schema.org/sku).
         
        string id = 2 [(.google.api.field_behavior) = IMMUTABLE];
        Returns:
        The id.
      • getIdBytes

        com.google.protobuf.ByteString getIdBytes()
         Immutable. [Product][google.cloud.retail.v2.Product] identifier, which is
         the final component of [name][google.cloud.retail.v2.Product.name]. For
         example, this field is "id_1", if
         [name][google.cloud.retail.v2.Product.name] is
         `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
        
         This field must be a UTF-8 encoded string with a length limit of 128
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [id](https://support.google.com/merchants/answer/6324405). Schema.org
         property [Product.sku](https://schema.org/sku).
         
        string id = 2 [(.google.api.field_behavior) = IMMUTABLE];
        Returns:
        The bytes for id.
      • getTypeValue

        int getTypeValue()
         Immutable. The type of the product. Default to
         [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2.ProductLevelConfig.ingestion_product_type]
         if unset.
         
        .google.cloud.retail.v2.Product.Type type = 3 [(.google.api.field_behavior) = IMMUTABLE];
        Returns:
        The enum numeric value on the wire for type.
      • getType

        Product.Type getType()
         Immutable. The type of the product. Default to
         [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2.ProductLevelConfig.ingestion_product_type]
         if unset.
         
        .google.cloud.retail.v2.Product.Type type = 3 [(.google.api.field_behavior) = IMMUTABLE];
        Returns:
        The type.
      • getPrimaryProductId

        String getPrimaryProductId()
         Variant group identifier. Must be an
         [id][google.cloud.retail.v2.Product.id], with the same parent branch with
         this product. Otherwise, an error is thrown.
        
         For [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product]s, this field can only be empty or
         set to the same value as [id][google.cloud.retail.v2.Product.id].
        
         For VARIANT [Product][google.cloud.retail.v2.Product]s, this field cannot
         be empty. A maximum of 2,000 products are allowed to share the same
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product]. Otherwise, an INVALID_ARGUMENT
         error is returned.
        
         Corresponding properties: Google Merchant Center property
         [item_group_id](https://support.google.com/merchants/answer/6324507).
         Schema.org property
         [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
         
        string primary_product_id = 4;
        Returns:
        The primaryProductId.
      • getPrimaryProductIdBytes

        com.google.protobuf.ByteString getPrimaryProductIdBytes()
         Variant group identifier. Must be an
         [id][google.cloud.retail.v2.Product.id], with the same parent branch with
         this product. Otherwise, an error is thrown.
        
         For [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product]s, this field can only be empty or
         set to the same value as [id][google.cloud.retail.v2.Product.id].
        
         For VARIANT [Product][google.cloud.retail.v2.Product]s, this field cannot
         be empty. A maximum of 2,000 products are allowed to share the same
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product]. Otherwise, an INVALID_ARGUMENT
         error is returned.
        
         Corresponding properties: Google Merchant Center property
         [item_group_id](https://support.google.com/merchants/answer/6324507).
         Schema.org property
         [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
         
        string primary_product_id = 4;
        Returns:
        The bytes for primaryProductId.
      • getCollectionMemberIdsList

        List<String> getCollectionMemberIdsList()
         The [id][google.cloud.retail.v2.Product.id] of the collection members when
         [type][google.cloud.retail.v2.Product.type] is
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION].
        
         Non-existent product ids are allowed.
         The [type][google.cloud.retail.v2.Product.type] of the members must be
         either [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] or
         [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] otherwise an
         INVALID_ARGUMENT error is thrown. Should not set it for other types. A
         maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
         return.
         
        repeated string collection_member_ids = 5;
        Returns:
        A list containing the collectionMemberIds.
      • getCollectionMemberIdsCount

        int getCollectionMemberIdsCount()
         The [id][google.cloud.retail.v2.Product.id] of the collection members when
         [type][google.cloud.retail.v2.Product.type] is
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION].
        
         Non-existent product ids are allowed.
         The [type][google.cloud.retail.v2.Product.type] of the members must be
         either [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] or
         [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] otherwise an
         INVALID_ARGUMENT error is thrown. Should not set it for other types. A
         maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
         return.
         
        repeated string collection_member_ids = 5;
        Returns:
        The count of collectionMemberIds.
      • getCollectionMemberIds

        String getCollectionMemberIds​(int index)
         The [id][google.cloud.retail.v2.Product.id] of the collection members when
         [type][google.cloud.retail.v2.Product.type] is
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION].
        
         Non-existent product ids are allowed.
         The [type][google.cloud.retail.v2.Product.type] of the members must be
         either [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] or
         [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] otherwise an
         INVALID_ARGUMENT error is thrown. Should not set it for other types. A
         maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
         return.
         
        repeated string collection_member_ids = 5;
        Parameters:
        index - The index of the element to return.
        Returns:
        The collectionMemberIds at the given index.
      • getCollectionMemberIdsBytes

        com.google.protobuf.ByteString getCollectionMemberIdsBytes​(int index)
         The [id][google.cloud.retail.v2.Product.id] of the collection members when
         [type][google.cloud.retail.v2.Product.type] is
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION].
        
         Non-existent product ids are allowed.
         The [type][google.cloud.retail.v2.Product.type] of the members must be
         either [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] or
         [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] otherwise an
         INVALID_ARGUMENT error is thrown. Should not set it for other types. A
         maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
         return.
         
        repeated string collection_member_ids = 5;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the collectionMemberIds at the given index.
      • getGtin

        String getGtin()
         The Global Trade Item Number (GTIN) of the product.
        
         This field must be a UTF-8 encoded string with a length limit of 128
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
         returned.
        
         Corresponding properties: Google Merchant Center property
         [gtin](https://support.google.com/merchants/answer/6324461).
         Schema.org property
         [Product.isbn](https://schema.org/isbn),
         [Product.gtin8](https://schema.org/gtin8),
         [Product.gtin12](https://schema.org/gtin12),
         [Product.gtin13](https://schema.org/gtin13), or
         [Product.gtin14](https://schema.org/gtin14).
        
         If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         
        string gtin = 6;
        Returns:
        The gtin.
      • getGtinBytes

        com.google.protobuf.ByteString getGtinBytes()
         The Global Trade Item Number (GTIN) of the product.
        
         This field must be a UTF-8 encoded string with a length limit of 128
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
         returned.
        
         Corresponding properties: Google Merchant Center property
         [gtin](https://support.google.com/merchants/answer/6324461).
         Schema.org property
         [Product.isbn](https://schema.org/isbn),
         [Product.gtin8](https://schema.org/gtin8),
         [Product.gtin12](https://schema.org/gtin12),
         [Product.gtin13](https://schema.org/gtin13), or
         [Product.gtin14](https://schema.org/gtin14).
        
         If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         
        string gtin = 6;
        Returns:
        The bytes for gtin.
      • getCategoriesList

        List<String> getCategoriesList()
         Product categories. This field is repeated for supporting one product
         belonging to several parallel categories. Strongly recommended using the
         full path for better search / recommendation quality.
        
        
         To represent full path of category, use '>' sign to separate different
         hierarchies. If '>' is part of the category name, replace it with
         other character(s).
        
         For example, if a shoes product belongs to both
         ["Shoes & Accessories" -> "Shoes"] and
         ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
         represented as:
        
              "categories": [
                "Shoes & Accessories > Shoes",
                "Sports & Fitness > Athletic Clothing > Shoes"
              ]
        
         Must be set for [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product] otherwise an INVALID_ARGUMENT
         error is returned.
        
         At most 250 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Empty values are not allowed.
         Each value must be a UTF-8 encoded string with a length limit of 5,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [google_product_category][mc_google_product_category]. Schema.org property
         [Product.category] (https://schema.org/category).
        
         [mc_google_product_category]:
         https://support.google.com/merchants/answer/6324436
         
        repeated string categories = 7;
        Returns:
        A list containing the categories.
      • getCategoriesCount

        int getCategoriesCount()
         Product categories. This field is repeated for supporting one product
         belonging to several parallel categories. Strongly recommended using the
         full path for better search / recommendation quality.
        
        
         To represent full path of category, use '>' sign to separate different
         hierarchies. If '>' is part of the category name, replace it with
         other character(s).
        
         For example, if a shoes product belongs to both
         ["Shoes & Accessories" -> "Shoes"] and
         ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
         represented as:
        
              "categories": [
                "Shoes & Accessories > Shoes",
                "Sports & Fitness > Athletic Clothing > Shoes"
              ]
        
         Must be set for [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product] otherwise an INVALID_ARGUMENT
         error is returned.
        
         At most 250 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Empty values are not allowed.
         Each value must be a UTF-8 encoded string with a length limit of 5,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [google_product_category][mc_google_product_category]. Schema.org property
         [Product.category] (https://schema.org/category).
        
         [mc_google_product_category]:
         https://support.google.com/merchants/answer/6324436
         
        repeated string categories = 7;
        Returns:
        The count of categories.
      • getCategories

        String getCategories​(int index)
         Product categories. This field is repeated for supporting one product
         belonging to several parallel categories. Strongly recommended using the
         full path for better search / recommendation quality.
        
        
         To represent full path of category, use '>' sign to separate different
         hierarchies. If '>' is part of the category name, replace it with
         other character(s).
        
         For example, if a shoes product belongs to both
         ["Shoes & Accessories" -> "Shoes"] and
         ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
         represented as:
        
              "categories": [
                "Shoes & Accessories > Shoes",
                "Sports & Fitness > Athletic Clothing > Shoes"
              ]
        
         Must be set for [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product] otherwise an INVALID_ARGUMENT
         error is returned.
        
         At most 250 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Empty values are not allowed.
         Each value must be a UTF-8 encoded string with a length limit of 5,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [google_product_category][mc_google_product_category]. Schema.org property
         [Product.category] (https://schema.org/category).
        
         [mc_google_product_category]:
         https://support.google.com/merchants/answer/6324436
         
        repeated string categories = 7;
        Parameters:
        index - The index of the element to return.
        Returns:
        The categories at the given index.
      • getCategoriesBytes

        com.google.protobuf.ByteString getCategoriesBytes​(int index)
         Product categories. This field is repeated for supporting one product
         belonging to several parallel categories. Strongly recommended using the
         full path for better search / recommendation quality.
        
        
         To represent full path of category, use '>' sign to separate different
         hierarchies. If '>' is part of the category name, replace it with
         other character(s).
        
         For example, if a shoes product belongs to both
         ["Shoes & Accessories" -> "Shoes"] and
         ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
         represented as:
        
              "categories": [
                "Shoes & Accessories > Shoes",
                "Sports & Fitness > Athletic Clothing > Shoes"
              ]
        
         Must be set for [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product] otherwise an INVALID_ARGUMENT
         error is returned.
        
         At most 250 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Empty values are not allowed.
         Each value must be a UTF-8 encoded string with a length limit of 5,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [google_product_category][mc_google_product_category]. Schema.org property
         [Product.category] (https://schema.org/category).
        
         [mc_google_product_category]:
         https://support.google.com/merchants/answer/6324436
         
        repeated string categories = 7;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the categories at the given index.
      • getTitle

        String getTitle()
         Required. Product title.
        
         This field must be a UTF-8 encoded string with a length limit of 1,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [title](https://support.google.com/merchants/answer/6324415). Schema.org
         property [Product.name](https://schema.org/name).
         
        string title = 8 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        The title.
      • getTitleBytes

        com.google.protobuf.ByteString getTitleBytes()
         Required. Product title.
        
         This field must be a UTF-8 encoded string with a length limit of 1,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [title](https://support.google.com/merchants/answer/6324415). Schema.org
         property [Product.name](https://schema.org/name).
         
        string title = 8 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        The bytes for title.
      • getBrandsList

        List<String> getBrandsList()
         The brands of the product.
        
         A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
         string with a length limit of 1,000 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [brand](https://support.google.com/merchants/answer/6324351). Schema.org
         property [Product.brand](https://schema.org/brand).
         
        repeated string brands = 9;
        Returns:
        A list containing the brands.
      • getBrandsCount

        int getBrandsCount()
         The brands of the product.
        
         A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
         string with a length limit of 1,000 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [brand](https://support.google.com/merchants/answer/6324351). Schema.org
         property [Product.brand](https://schema.org/brand).
         
        repeated string brands = 9;
        Returns:
        The count of brands.
      • getBrands

        String getBrands​(int index)
         The brands of the product.
        
         A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
         string with a length limit of 1,000 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [brand](https://support.google.com/merchants/answer/6324351). Schema.org
         property [Product.brand](https://schema.org/brand).
         
        repeated string brands = 9;
        Parameters:
        index - The index of the element to return.
        Returns:
        The brands at the given index.
      • getBrandsBytes

        com.google.protobuf.ByteString getBrandsBytes​(int index)
         The brands of the product.
        
         A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
         string with a length limit of 1,000 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [brand](https://support.google.com/merchants/answer/6324351). Schema.org
         property [Product.brand](https://schema.org/brand).
         
        repeated string brands = 9;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the brands at the given index.
      • getDescription

        String getDescription()
         Product description.
        
         This field must be a UTF-8 encoded string with a length limit of 5,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [description](https://support.google.com/merchants/answer/6324468).
         Schema.org property [Product.description](https://schema.org/description).
         
        string description = 10;
        Returns:
        The description.
      • getDescriptionBytes

        com.google.protobuf.ByteString getDescriptionBytes()
         Product description.
        
         This field must be a UTF-8 encoded string with a length limit of 5,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [description](https://support.google.com/merchants/answer/6324468).
         Schema.org property [Product.description](https://schema.org/description).
         
        string description = 10;
        Returns:
        The bytes for description.
      • getLanguageCode

        String getLanguageCode()
         Language of the title/description and other string attributes. Use language
         tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
        
         For product prediction, this field is ignored and the model automatically
         detects the text language. The [Product][google.cloud.retail.v2.Product]
         can include text in different languages, but duplicating
         [Product][google.cloud.retail.v2.Product]s to provide text in multiple
         languages can result in degraded model performance.
        
         For product search this field is in use. It defaults to "en-US" if unset.
         
        string language_code = 11;
        Returns:
        The languageCode.
      • getLanguageCodeBytes

        com.google.protobuf.ByteString getLanguageCodeBytes()
         Language of the title/description and other string attributes. Use language
         tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
        
         For product prediction, this field is ignored and the model automatically
         detects the text language. The [Product][google.cloud.retail.v2.Product]
         can include text in different languages, but duplicating
         [Product][google.cloud.retail.v2.Product]s to provide text in multiple
         languages can result in degraded model performance.
        
         For product search this field is in use. It defaults to "en-US" if unset.
         
        string language_code = 11;
        Returns:
        The bytes for languageCode.
      • getAttributesCount

        int getAttributesCount()
         Highly encouraged. Extra product attributes to be included. For example,
         for products, this could include the store name, vendor, style, color, etc.
         These are very strong signals for recommendation model, thus we highly
         recommend providing the attributes here.
        
         Features that can take on one of a limited number of possible values. Two
         types of features can be set are:
        
         Textual features. some examples would be the brand/maker of a product, or
         country of a customer. Numerical features. Some examples would be the
         height/weight of a product, or age of a customer.
        
         For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
         "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
         }`.
        
         This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
         error is returned:
        
         * Max entries count: 200.
         * The key must be a UTF-8 encoded string with a length limit of 128
           characters.
         * For indexable attribute, the key must match the pattern:
           `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
           `KEY_1_LIKE_THIS`.
         * For text attributes, at most 400 values are allowed. Empty values are not
           allowed. Each value must be a non-empty UTF-8 encoded string with a
           length limit of 256 characters.
         * For number attributes, at most 400 values are allowed.
         
        map<string, .google.cloud.retail.v2.CustomAttribute> attributes = 12;
      • containsAttributes

        boolean containsAttributes​(String key)
         Highly encouraged. Extra product attributes to be included. For example,
         for products, this could include the store name, vendor, style, color, etc.
         These are very strong signals for recommendation model, thus we highly
         recommend providing the attributes here.
        
         Features that can take on one of a limited number of possible values. Two
         types of features can be set are:
        
         Textual features. some examples would be the brand/maker of a product, or
         country of a customer. Numerical features. Some examples would be the
         height/weight of a product, or age of a customer.
        
         For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
         "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
         }`.
        
         This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
         error is returned:
        
         * Max entries count: 200.
         * The key must be a UTF-8 encoded string with a length limit of 128
           characters.
         * For indexable attribute, the key must match the pattern:
           `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
           `KEY_1_LIKE_THIS`.
         * For text attributes, at most 400 values are allowed. Empty values are not
           allowed. Each value must be a non-empty UTF-8 encoded string with a
           length limit of 256 characters.
         * For number attributes, at most 400 values are allowed.
         
        map<string, .google.cloud.retail.v2.CustomAttribute> attributes = 12;
      • getAttributesMap

        Map<String,​CustomAttribute> getAttributesMap()
         Highly encouraged. Extra product attributes to be included. For example,
         for products, this could include the store name, vendor, style, color, etc.
         These are very strong signals for recommendation model, thus we highly
         recommend providing the attributes here.
        
         Features that can take on one of a limited number of possible values. Two
         types of features can be set are:
        
         Textual features. some examples would be the brand/maker of a product, or
         country of a customer. Numerical features. Some examples would be the
         height/weight of a product, or age of a customer.
        
         For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
         "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
         }`.
        
         This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
         error is returned:
        
         * Max entries count: 200.
         * The key must be a UTF-8 encoded string with a length limit of 128
           characters.
         * For indexable attribute, the key must match the pattern:
           `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
           `KEY_1_LIKE_THIS`.
         * For text attributes, at most 400 values are allowed. Empty values are not
           allowed. Each value must be a non-empty UTF-8 encoded string with a
           length limit of 256 characters.
         * For number attributes, at most 400 values are allowed.
         
        map<string, .google.cloud.retail.v2.CustomAttribute> attributes = 12;
      • getAttributesOrDefault

        CustomAttribute getAttributesOrDefault​(String key,
                                               CustomAttribute defaultValue)
         Highly encouraged. Extra product attributes to be included. For example,
         for products, this could include the store name, vendor, style, color, etc.
         These are very strong signals for recommendation model, thus we highly
         recommend providing the attributes here.
        
         Features that can take on one of a limited number of possible values. Two
         types of features can be set are:
        
         Textual features. some examples would be the brand/maker of a product, or
         country of a customer. Numerical features. Some examples would be the
         height/weight of a product, or age of a customer.
        
         For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
         "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
         }`.
        
         This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
         error is returned:
        
         * Max entries count: 200.
         * The key must be a UTF-8 encoded string with a length limit of 128
           characters.
         * For indexable attribute, the key must match the pattern:
           `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
           `KEY_1_LIKE_THIS`.
         * For text attributes, at most 400 values are allowed. Empty values are not
           allowed. Each value must be a non-empty UTF-8 encoded string with a
           length limit of 256 characters.
         * For number attributes, at most 400 values are allowed.
         
        map<string, .google.cloud.retail.v2.CustomAttribute> attributes = 12;
      • getAttributesOrThrow

        CustomAttribute getAttributesOrThrow​(String key)
         Highly encouraged. Extra product attributes to be included. For example,
         for products, this could include the store name, vendor, style, color, etc.
         These are very strong signals for recommendation model, thus we highly
         recommend providing the attributes here.
        
         Features that can take on one of a limited number of possible values. Two
         types of features can be set are:
        
         Textual features. some examples would be the brand/maker of a product, or
         country of a customer. Numerical features. Some examples would be the
         height/weight of a product, or age of a customer.
        
         For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
         "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
         }`.
        
         This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
         error is returned:
        
         * Max entries count: 200.
         * The key must be a UTF-8 encoded string with a length limit of 128
           characters.
         * For indexable attribute, the key must match the pattern:
           `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
           `KEY_1_LIKE_THIS`.
         * For text attributes, at most 400 values are allowed. Empty values are not
           allowed. Each value must be a non-empty UTF-8 encoded string with a
           length limit of 256 characters.
         * For number attributes, at most 400 values are allowed.
         
        map<string, .google.cloud.retail.v2.CustomAttribute> attributes = 12;
      • getTagsList

        List<String> getTagsList()
         Custom tags associated with the product.
        
         At most 250 values are allowed per
         [Product][google.cloud.retail.v2.Product]. This value must be a UTF-8
         encoded string with a length limit of 1,000 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         This tag can be used for filtering recommendation results by passing the
         tag as part of the
         [PredictRequest.filter][google.cloud.retail.v2.PredictRequest.filter].
        
         Corresponding properties: Google Merchant Center property
         [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
         
        repeated string tags = 13;
        Returns:
        A list containing the tags.
      • getTagsCount

        int getTagsCount()
         Custom tags associated with the product.
        
         At most 250 values are allowed per
         [Product][google.cloud.retail.v2.Product]. This value must be a UTF-8
         encoded string with a length limit of 1,000 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         This tag can be used for filtering recommendation results by passing the
         tag as part of the
         [PredictRequest.filter][google.cloud.retail.v2.PredictRequest.filter].
        
         Corresponding properties: Google Merchant Center property
         [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
         
        repeated string tags = 13;
        Returns:
        The count of tags.
      • getTags

        String getTags​(int index)
         Custom tags associated with the product.
        
         At most 250 values are allowed per
         [Product][google.cloud.retail.v2.Product]. This value must be a UTF-8
         encoded string with a length limit of 1,000 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         This tag can be used for filtering recommendation results by passing the
         tag as part of the
         [PredictRequest.filter][google.cloud.retail.v2.PredictRequest.filter].
        
         Corresponding properties: Google Merchant Center property
         [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
         
        repeated string tags = 13;
        Parameters:
        index - The index of the element to return.
        Returns:
        The tags at the given index.
      • getTagsBytes

        com.google.protobuf.ByteString getTagsBytes​(int index)
         Custom tags associated with the product.
        
         At most 250 values are allowed per
         [Product][google.cloud.retail.v2.Product]. This value must be a UTF-8
         encoded string with a length limit of 1,000 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         This tag can be used for filtering recommendation results by passing the
         tag as part of the
         [PredictRequest.filter][google.cloud.retail.v2.PredictRequest.filter].
        
         Corresponding properties: Google Merchant Center property
         [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
         
        repeated string tags = 13;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the tags at the given index.
      • hasPriceInfo

        boolean hasPriceInfo()
         Product price and cost information.
        
         Corresponding properties: Google Merchant Center property
         [price](https://support.google.com/merchants/answer/6324371).
         
        .google.cloud.retail.v2.PriceInfo price_info = 14;
        Returns:
        Whether the priceInfo field is set.
      • getPriceInfo

        PriceInfo getPriceInfo()
         Product price and cost information.
        
         Corresponding properties: Google Merchant Center property
         [price](https://support.google.com/merchants/answer/6324371).
         
        .google.cloud.retail.v2.PriceInfo price_info = 14;
        Returns:
        The priceInfo.
      • getPriceInfoOrBuilder

        PriceInfoOrBuilder getPriceInfoOrBuilder()
         Product price and cost information.
        
         Corresponding properties: Google Merchant Center property
         [price](https://support.google.com/merchants/answer/6324371).
         
        .google.cloud.retail.v2.PriceInfo price_info = 14;
      • hasRating

        boolean hasRating()
         The rating of this product.
         
        .google.cloud.retail.v2.Rating rating = 15;
        Returns:
        Whether the rating field is set.
      • getRating

        Rating getRating()
         The rating of this product.
         
        .google.cloud.retail.v2.Rating rating = 15;
        Returns:
        The rating.
      • getRatingOrBuilder

        RatingOrBuilder getRatingOrBuilder()
         The rating of this product.
         
        .google.cloud.retail.v2.Rating rating = 15;
      • hasAvailableTime

        boolean hasAvailableTime()
         The timestamp when this [Product][google.cloud.retail.v2.Product] becomes
         available for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search]. Note
         that this is only applicable to
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], and
         ignored for [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT].
         
        .google.protobuf.Timestamp available_time = 18;
        Returns:
        Whether the availableTime field is set.
      • getAvailableTime

        com.google.protobuf.Timestamp getAvailableTime()
         The timestamp when this [Product][google.cloud.retail.v2.Product] becomes
         available for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search]. Note
         that this is only applicable to
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], and
         ignored for [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT].
         
        .google.protobuf.Timestamp available_time = 18;
        Returns:
        The availableTime.
      • getAvailableTimeOrBuilder

        com.google.protobuf.TimestampOrBuilder getAvailableTimeOrBuilder()
         The timestamp when this [Product][google.cloud.retail.v2.Product] becomes
         available for
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search]. Note
         that this is only applicable to
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], and
         ignored for [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT].
         
        .google.protobuf.Timestamp available_time = 18;
      • getAvailabilityValue

        int getAvailabilityValue()
         The online availability of the [Product][google.cloud.retail.v2.Product].
         Default to
         [Availability.IN_STOCK][google.cloud.retail.v2.Product.Availability.IN_STOCK].
        
         Corresponding properties: Google Merchant Center property
         [availability](https://support.google.com/merchants/answer/6324448).
         Schema.org property [Offer.availability](https://schema.org/availability).
         
        .google.cloud.retail.v2.Product.Availability availability = 19;
        Returns:
        The enum numeric value on the wire for availability.
      • getAvailability

        Product.Availability getAvailability()
         The online availability of the [Product][google.cloud.retail.v2.Product].
         Default to
         [Availability.IN_STOCK][google.cloud.retail.v2.Product.Availability.IN_STOCK].
        
         Corresponding properties: Google Merchant Center property
         [availability](https://support.google.com/merchants/answer/6324448).
         Schema.org property [Offer.availability](https://schema.org/availability).
         
        .google.cloud.retail.v2.Product.Availability availability = 19;
        Returns:
        The availability.
      • hasAvailableQuantity

        boolean hasAvailableQuantity()
         The available quantity of the item.
         
        .google.protobuf.Int32Value available_quantity = 20;
        Returns:
        Whether the availableQuantity field is set.
      • getAvailableQuantity

        com.google.protobuf.Int32Value getAvailableQuantity()
         The available quantity of the item.
         
        .google.protobuf.Int32Value available_quantity = 20;
        Returns:
        The availableQuantity.
      • getAvailableQuantityOrBuilder

        com.google.protobuf.Int32ValueOrBuilder getAvailableQuantityOrBuilder()
         The available quantity of the item.
         
        .google.protobuf.Int32Value available_quantity = 20;
      • getFulfillmentInfoList

        List<FulfillmentInfo> getFulfillmentInfoList()
         Fulfillment information, such as the store IDs for in-store pickup or
         region IDs for different shipping methods.
        
         All the elements must have distinct
         [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type].
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        repeated .google.cloud.retail.v2.FulfillmentInfo fulfillment_info = 21;
      • getFulfillmentInfo

        FulfillmentInfo getFulfillmentInfo​(int index)
         Fulfillment information, such as the store IDs for in-store pickup or
         region IDs for different shipping methods.
        
         All the elements must have distinct
         [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type].
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        repeated .google.cloud.retail.v2.FulfillmentInfo fulfillment_info = 21;
      • getFulfillmentInfoCount

        int getFulfillmentInfoCount()
         Fulfillment information, such as the store IDs for in-store pickup or
         region IDs for different shipping methods.
        
         All the elements must have distinct
         [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type].
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        repeated .google.cloud.retail.v2.FulfillmentInfo fulfillment_info = 21;
      • getFulfillmentInfoOrBuilderList

        List<? extends FulfillmentInfoOrBuilder> getFulfillmentInfoOrBuilderList()
         Fulfillment information, such as the store IDs for in-store pickup or
         region IDs for different shipping methods.
        
         All the elements must have distinct
         [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type].
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        repeated .google.cloud.retail.v2.FulfillmentInfo fulfillment_info = 21;
      • getFulfillmentInfoOrBuilder

        FulfillmentInfoOrBuilder getFulfillmentInfoOrBuilder​(int index)
         Fulfillment information, such as the store IDs for in-store pickup or
         region IDs for different shipping methods.
        
         All the elements must have distinct
         [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type].
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        repeated .google.cloud.retail.v2.FulfillmentInfo fulfillment_info = 21;
      • getUri

        String getUri()
         Canonical URL directly linking to the product detail page.
        
         It is strongly recommended to provide a valid uri for the product,
         otherwise the service performance could be significantly degraded.
        
         This field must be a UTF-8 encoded string with a length limit of 5,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [link](https://support.google.com/merchants/answer/6324416). Schema.org
         property [Offer.url](https://schema.org/url).
         
        string uri = 22;
        Returns:
        The uri.
      • getUriBytes

        com.google.protobuf.ByteString getUriBytes()
         Canonical URL directly linking to the product detail page.
        
         It is strongly recommended to provide a valid uri for the product,
         otherwise the service performance could be significantly degraded.
        
         This field must be a UTF-8 encoded string with a length limit of 5,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [link](https://support.google.com/merchants/answer/6324416). Schema.org
         property [Offer.url](https://schema.org/url).
         
        string uri = 22;
        Returns:
        The bytes for uri.
      • getImagesList

        List<Image> getImagesList()
         Product images for the product. We highly recommend putting the main
         image first.
        
         A maximum of 300 images are allowed.
        
         Corresponding properties: Google Merchant Center property
         [image_link](https://support.google.com/merchants/answer/6324350).
         Schema.org property [Product.image](https://schema.org/image).
         
        repeated .google.cloud.retail.v2.Image images = 23;
      • getImages

        Image getImages​(int index)
         Product images for the product. We highly recommend putting the main
         image first.
        
         A maximum of 300 images are allowed.
        
         Corresponding properties: Google Merchant Center property
         [image_link](https://support.google.com/merchants/answer/6324350).
         Schema.org property [Product.image](https://schema.org/image).
         
        repeated .google.cloud.retail.v2.Image images = 23;
      • getImagesCount

        int getImagesCount()
         Product images for the product. We highly recommend putting the main
         image first.
        
         A maximum of 300 images are allowed.
        
         Corresponding properties: Google Merchant Center property
         [image_link](https://support.google.com/merchants/answer/6324350).
         Schema.org property [Product.image](https://schema.org/image).
         
        repeated .google.cloud.retail.v2.Image images = 23;
      • getImagesOrBuilderList

        List<? extends ImageOrBuilder> getImagesOrBuilderList()
         Product images for the product. We highly recommend putting the main
         image first.
        
         A maximum of 300 images are allowed.
        
         Corresponding properties: Google Merchant Center property
         [image_link](https://support.google.com/merchants/answer/6324350).
         Schema.org property [Product.image](https://schema.org/image).
         
        repeated .google.cloud.retail.v2.Image images = 23;
      • getImagesOrBuilder

        ImageOrBuilder getImagesOrBuilder​(int index)
         Product images for the product. We highly recommend putting the main
         image first.
        
         A maximum of 300 images are allowed.
        
         Corresponding properties: Google Merchant Center property
         [image_link](https://support.google.com/merchants/answer/6324350).
         Schema.org property [Product.image](https://schema.org/image).
         
        repeated .google.cloud.retail.v2.Image images = 23;
      • hasAudience

        boolean hasAudience()
         The target group associated with a given audience (e.g. male, veterans,
         car owners, musicians, etc.) of the product.
         
        .google.cloud.retail.v2.Audience audience = 24;
        Returns:
        Whether the audience field is set.
      • getAudience

        Audience getAudience()
         The target group associated with a given audience (e.g. male, veterans,
         car owners, musicians, etc.) of the product.
         
        .google.cloud.retail.v2.Audience audience = 24;
        Returns:
        The audience.
      • getAudienceOrBuilder

        AudienceOrBuilder getAudienceOrBuilder()
         The target group associated with a given audience (e.g. male, veterans,
         car owners, musicians, etc.) of the product.
         
        .google.cloud.retail.v2.Audience audience = 24;
      • hasColorInfo

        boolean hasColorInfo()
         The color of the product.
        
         Corresponding properties: Google Merchant Center property
         [color](https://support.google.com/merchants/answer/6324487). Schema.org
         property [Product.color](https://schema.org/color).
         
        .google.cloud.retail.v2.ColorInfo color_info = 25;
        Returns:
        Whether the colorInfo field is set.
      • getColorInfo

        ColorInfo getColorInfo()
         The color of the product.
        
         Corresponding properties: Google Merchant Center property
         [color](https://support.google.com/merchants/answer/6324487). Schema.org
         property [Product.color](https://schema.org/color).
         
        .google.cloud.retail.v2.ColorInfo color_info = 25;
        Returns:
        The colorInfo.
      • getColorInfoOrBuilder

        ColorInfoOrBuilder getColorInfoOrBuilder()
         The color of the product.
        
         Corresponding properties: Google Merchant Center property
         [color](https://support.google.com/merchants/answer/6324487). Schema.org
         property [Product.color](https://schema.org/color).
         
        .google.cloud.retail.v2.ColorInfo color_info = 25;
      • getSizesList

        List<String> getSizesList()
         The size of the product. To represent different size systems or size types,
         consider using this format: [[[size_system:]size_type:]size_value].
        
         For example, in "US:MENS:M", "US" represents size system; "MENS" represents
         size type; "M" represents size value. In "GIRLS:27", size system is empty;
         "GIRLS" represents size type; "27" represents size value. In "32 inches",
         both size system and size type are empty, while size value is "32 inches".
        
         A maximum of 20 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [size](https://support.google.com/merchants/answer/6324492),
         [size_type](https://support.google.com/merchants/answer/6324497), and
         [size_system](https://support.google.com/merchants/answer/6324502).
         Schema.org property [Product.size](https://schema.org/size).
         
        repeated string sizes = 26;
        Returns:
        A list containing the sizes.
      • getSizesCount

        int getSizesCount()
         The size of the product. To represent different size systems or size types,
         consider using this format: [[[size_system:]size_type:]size_value].
        
         For example, in "US:MENS:M", "US" represents size system; "MENS" represents
         size type; "M" represents size value. In "GIRLS:27", size system is empty;
         "GIRLS" represents size type; "27" represents size value. In "32 inches",
         both size system and size type are empty, while size value is "32 inches".
        
         A maximum of 20 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [size](https://support.google.com/merchants/answer/6324492),
         [size_type](https://support.google.com/merchants/answer/6324497), and
         [size_system](https://support.google.com/merchants/answer/6324502).
         Schema.org property [Product.size](https://schema.org/size).
         
        repeated string sizes = 26;
        Returns:
        The count of sizes.
      • getSizes

        String getSizes​(int index)
         The size of the product. To represent different size systems or size types,
         consider using this format: [[[size_system:]size_type:]size_value].
        
         For example, in "US:MENS:M", "US" represents size system; "MENS" represents
         size type; "M" represents size value. In "GIRLS:27", size system is empty;
         "GIRLS" represents size type; "27" represents size value. In "32 inches",
         both size system and size type are empty, while size value is "32 inches".
        
         A maximum of 20 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [size](https://support.google.com/merchants/answer/6324492),
         [size_type](https://support.google.com/merchants/answer/6324497), and
         [size_system](https://support.google.com/merchants/answer/6324502).
         Schema.org property [Product.size](https://schema.org/size).
         
        repeated string sizes = 26;
        Parameters:
        index - The index of the element to return.
        Returns:
        The sizes at the given index.
      • getSizesBytes

        com.google.protobuf.ByteString getSizesBytes​(int index)
         The size of the product. To represent different size systems or size types,
         consider using this format: [[[size_system:]size_type:]size_value].
        
         For example, in "US:MENS:M", "US" represents size system; "MENS" represents
         size type; "M" represents size value. In "GIRLS:27", size system is empty;
         "GIRLS" represents size type; "27" represents size value. In "32 inches",
         both size system and size type are empty, while size value is "32 inches".
        
         A maximum of 20 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [size](https://support.google.com/merchants/answer/6324492),
         [size_type](https://support.google.com/merchants/answer/6324497), and
         [size_system](https://support.google.com/merchants/answer/6324502).
         Schema.org property [Product.size](https://schema.org/size).
         
        repeated string sizes = 26;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the sizes at the given index.
      • getMaterialsList

        List<String> getMaterialsList()
         The material of the product. For example, "leather", "wooden".
        
         A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
         string with a length limit of 200 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [material](https://support.google.com/merchants/answer/6324410). Schema.org
         property [Product.material](https://schema.org/material).
         
        repeated string materials = 27;
        Returns:
        A list containing the materials.
      • getMaterialsCount

        int getMaterialsCount()
         The material of the product. For example, "leather", "wooden".
        
         A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
         string with a length limit of 200 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [material](https://support.google.com/merchants/answer/6324410). Schema.org
         property [Product.material](https://schema.org/material).
         
        repeated string materials = 27;
        Returns:
        The count of materials.
      • getMaterials

        String getMaterials​(int index)
         The material of the product. For example, "leather", "wooden".
        
         A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
         string with a length limit of 200 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [material](https://support.google.com/merchants/answer/6324410). Schema.org
         property [Product.material](https://schema.org/material).
         
        repeated string materials = 27;
        Parameters:
        index - The index of the element to return.
        Returns:
        The materials at the given index.
      • getMaterialsBytes

        com.google.protobuf.ByteString getMaterialsBytes​(int index)
         The material of the product. For example, "leather", "wooden".
        
         A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
         string with a length limit of 200 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [material](https://support.google.com/merchants/answer/6324410). Schema.org
         property [Product.material](https://schema.org/material).
         
        repeated string materials = 27;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the materials at the given index.
      • getPatternsList

        List<String> getPatternsList()
         The pattern or graphic print of the product. For example, "striped", "polka
         dot", "paisley".
        
         A maximum of 20 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
         property [Product.pattern](https://schema.org/pattern).
         
        repeated string patterns = 28;
        Returns:
        A list containing the patterns.
      • getPatternsCount

        int getPatternsCount()
         The pattern or graphic print of the product. For example, "striped", "polka
         dot", "paisley".
        
         A maximum of 20 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
         property [Product.pattern](https://schema.org/pattern).
         
        repeated string patterns = 28;
        Returns:
        The count of patterns.
      • getPatterns

        String getPatterns​(int index)
         The pattern or graphic print of the product. For example, "striped", "polka
         dot", "paisley".
        
         A maximum of 20 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
         property [Product.pattern](https://schema.org/pattern).
         
        repeated string patterns = 28;
        Parameters:
        index - The index of the element to return.
        Returns:
        The patterns at the given index.
      • getPatternsBytes

        com.google.protobuf.ByteString getPatternsBytes​(int index)
         The pattern or graphic print of the product. For example, "striped", "polka
         dot", "paisley".
        
         A maximum of 20 values are allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
         property [Product.pattern](https://schema.org/pattern).
         
        repeated string patterns = 28;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the patterns at the given index.
      • getConditionsList

        List<String> getConditionsList()
         The condition of the product. Strongly encouraged to use the standard
         values: "new", "refurbished", "used".
        
         A maximum of 1 value is allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [condition](https://support.google.com/merchants/answer/6324469).
         Schema.org property
         [Offer.itemCondition](https://schema.org/itemCondition).
         
        repeated string conditions = 29;
        Returns:
        A list containing the conditions.
      • getConditionsCount

        int getConditionsCount()
         The condition of the product. Strongly encouraged to use the standard
         values: "new", "refurbished", "used".
        
         A maximum of 1 value is allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [condition](https://support.google.com/merchants/answer/6324469).
         Schema.org property
         [Offer.itemCondition](https://schema.org/itemCondition).
         
        repeated string conditions = 29;
        Returns:
        The count of conditions.
      • getConditions

        String getConditions​(int index)
         The condition of the product. Strongly encouraged to use the standard
         values: "new", "refurbished", "used".
        
         A maximum of 1 value is allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [condition](https://support.google.com/merchants/answer/6324469).
         Schema.org property
         [Offer.itemCondition](https://schema.org/itemCondition).
         
        repeated string conditions = 29;
        Parameters:
        index - The index of the element to return.
        Returns:
        The conditions at the given index.
      • getConditionsBytes

        com.google.protobuf.ByteString getConditionsBytes​(int index)
         The condition of the product. Strongly encouraged to use the standard
         values: "new", "refurbished", "used".
        
         A maximum of 1 value is allowed per
         [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
         encoded string with a length limit of 128 characters. Otherwise, an
         INVALID_ARGUMENT error is returned.
        
         Corresponding properties: Google Merchant Center property
         [condition](https://support.google.com/merchants/answer/6324469).
         Schema.org property
         [Offer.itemCondition](https://schema.org/itemCondition).
         
        repeated string conditions = 29;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the conditions at the given index.
      • getPromotionsList

        List<Promotion> getPromotionsList()
         The promotions applied to the product. A maximum of 10 values are allowed
         per [Product][google.cloud.retail.v2.Product]. Only
         [Promotion.promotion_id][google.cloud.retail.v2.Promotion.promotion_id]
         will be used, other fields will be ignored if set.
         
        repeated .google.cloud.retail.v2.Promotion promotions = 34;
      • getPromotions

        Promotion getPromotions​(int index)
         The promotions applied to the product. A maximum of 10 values are allowed
         per [Product][google.cloud.retail.v2.Product]. Only
         [Promotion.promotion_id][google.cloud.retail.v2.Promotion.promotion_id]
         will be used, other fields will be ignored if set.
         
        repeated .google.cloud.retail.v2.Promotion promotions = 34;
      • getPromotionsCount

        int getPromotionsCount()
         The promotions applied to the product. A maximum of 10 values are allowed
         per [Product][google.cloud.retail.v2.Product]. Only
         [Promotion.promotion_id][google.cloud.retail.v2.Promotion.promotion_id]
         will be used, other fields will be ignored if set.
         
        repeated .google.cloud.retail.v2.Promotion promotions = 34;
      • getPromotionsOrBuilderList

        List<? extends PromotionOrBuilder> getPromotionsOrBuilderList()
         The promotions applied to the product. A maximum of 10 values are allowed
         per [Product][google.cloud.retail.v2.Product]. Only
         [Promotion.promotion_id][google.cloud.retail.v2.Promotion.promotion_id]
         will be used, other fields will be ignored if set.
         
        repeated .google.cloud.retail.v2.Promotion promotions = 34;
      • getPromotionsOrBuilder

        PromotionOrBuilder getPromotionsOrBuilder​(int index)
         The promotions applied to the product. A maximum of 10 values are allowed
         per [Product][google.cloud.retail.v2.Product]. Only
         [Promotion.promotion_id][google.cloud.retail.v2.Promotion.promotion_id]
         will be used, other fields will be ignored if set.
         
        repeated .google.cloud.retail.v2.Promotion promotions = 34;
      • hasPublishTime

        boolean hasPublishTime()
         The timestamp when the product is published by the retailer for the first
         time, which indicates the freshness of the products. Note that this field
         is different from
         [available_time][google.cloud.retail.v2.Product.available_time], given it
         purely describes product freshness regardless of when it is available on
         search and recommendation.
         
        .google.protobuf.Timestamp publish_time = 33;
        Returns:
        Whether the publishTime field is set.
      • getPublishTime

        com.google.protobuf.Timestamp getPublishTime()
         The timestamp when the product is published by the retailer for the first
         time, which indicates the freshness of the products. Note that this field
         is different from
         [available_time][google.cloud.retail.v2.Product.available_time], given it
         purely describes product freshness regardless of when it is available on
         search and recommendation.
         
        .google.protobuf.Timestamp publish_time = 33;
        Returns:
        The publishTime.
      • getPublishTimeOrBuilder

        com.google.protobuf.TimestampOrBuilder getPublishTimeOrBuilder()
         The timestamp when the product is published by the retailer for the first
         time, which indicates the freshness of the products. Note that this field
         is different from
         [available_time][google.cloud.retail.v2.Product.available_time], given it
         purely describes product freshness regardless of when it is available on
         search and recommendation.
         
        .google.protobuf.Timestamp publish_time = 33;
      • hasRetrievableFields

        @Deprecated
        boolean hasRetrievableFields()
        Deprecated.
        google.cloud.retail.v2.Product.retrievable_fields is deprecated. See google/cloud/retail/v2/product.proto;l=562
         Indicates which fields in the [Product][google.cloud.retail.v2.Product]s
         are returned in [SearchResponse][google.cloud.retail.v2.SearchResponse].
        
         Supported fields for all [type][google.cloud.retail.v2.Product.type]s:
        
         * [audience][google.cloud.retail.v2.Product.audience]
         * [availability][google.cloud.retail.v2.Product.availability]
         * [brands][google.cloud.retail.v2.Product.brands]
         * [color_info][google.cloud.retail.v2.Product.color_info]
         * [conditions][google.cloud.retail.v2.Product.conditions]
         * [gtin][google.cloud.retail.v2.Product.gtin]
         * [materials][google.cloud.retail.v2.Product.materials]
         * [name][google.cloud.retail.v2.Product.name]
         * [patterns][google.cloud.retail.v2.Product.patterns]
         * [price_info][google.cloud.retail.v2.Product.price_info]
         * [rating][google.cloud.retail.v2.Product.rating]
         * [sizes][google.cloud.retail.v2.Product.sizes]
         * [title][google.cloud.retail.v2.Product.title]
         * [uri][google.cloud.retail.v2.Product.uri]
        
         Supported fields only for
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]:
        
         * [categories][google.cloud.retail.v2.Product.categories]
         * [description][google.cloud.retail.v2.Product.description]
         * [images][google.cloud.retail.v2.Product.images]
        
         Supported fields only for
         [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]:
        
         * Only the first image in [images][google.cloud.retail.v2.Product.images]
        
         To mark [attributes][google.cloud.retail.v2.Product.attributes] as
         retrievable, include paths of the form "attributes.key" where "key" is the
         key of a custom attribute, as specified in
         [attributes][google.cloud.retail.v2.Product.attributes].
        
         For [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], the
         following fields are always returned in
         [SearchResponse][google.cloud.retail.v2.SearchResponse] by default:
        
         * [name][google.cloud.retail.v2.Product.name]
        
         For [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT], the
         following fields are always returned in by default:
        
         * [name][google.cloud.retail.v2.Product.name]
         * [color_info][google.cloud.retail.v2.Product.color_info]
        
         The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
         returned.
        
         Note: Returning more fields in
         [SearchResponse][google.cloud.retail.v2.SearchResponse] can increase
         response payload size and serving latency.
        
         This field is deprecated. Use the retrievable site-wide control instead.
         
        .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
        Returns:
        Whether the retrievableFields field is set.
      • getRetrievableFields

        @Deprecated
        com.google.protobuf.FieldMask getRetrievableFields()
        Deprecated.
        google.cloud.retail.v2.Product.retrievable_fields is deprecated. See google/cloud/retail/v2/product.proto;l=562
         Indicates which fields in the [Product][google.cloud.retail.v2.Product]s
         are returned in [SearchResponse][google.cloud.retail.v2.SearchResponse].
        
         Supported fields for all [type][google.cloud.retail.v2.Product.type]s:
        
         * [audience][google.cloud.retail.v2.Product.audience]
         * [availability][google.cloud.retail.v2.Product.availability]
         * [brands][google.cloud.retail.v2.Product.brands]
         * [color_info][google.cloud.retail.v2.Product.color_info]
         * [conditions][google.cloud.retail.v2.Product.conditions]
         * [gtin][google.cloud.retail.v2.Product.gtin]
         * [materials][google.cloud.retail.v2.Product.materials]
         * [name][google.cloud.retail.v2.Product.name]
         * [patterns][google.cloud.retail.v2.Product.patterns]
         * [price_info][google.cloud.retail.v2.Product.price_info]
         * [rating][google.cloud.retail.v2.Product.rating]
         * [sizes][google.cloud.retail.v2.Product.sizes]
         * [title][google.cloud.retail.v2.Product.title]
         * [uri][google.cloud.retail.v2.Product.uri]
        
         Supported fields only for
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]:
        
         * [categories][google.cloud.retail.v2.Product.categories]
         * [description][google.cloud.retail.v2.Product.description]
         * [images][google.cloud.retail.v2.Product.images]
        
         Supported fields only for
         [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]:
        
         * Only the first image in [images][google.cloud.retail.v2.Product.images]
        
         To mark [attributes][google.cloud.retail.v2.Product.attributes] as
         retrievable, include paths of the form "attributes.key" where "key" is the
         key of a custom attribute, as specified in
         [attributes][google.cloud.retail.v2.Product.attributes].
        
         For [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], the
         following fields are always returned in
         [SearchResponse][google.cloud.retail.v2.SearchResponse] by default:
        
         * [name][google.cloud.retail.v2.Product.name]
        
         For [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT], the
         following fields are always returned in by default:
        
         * [name][google.cloud.retail.v2.Product.name]
         * [color_info][google.cloud.retail.v2.Product.color_info]
        
         The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
         returned.
        
         Note: Returning more fields in
         [SearchResponse][google.cloud.retail.v2.SearchResponse] can increase
         response payload size and serving latency.
        
         This field is deprecated. Use the retrievable site-wide control instead.
         
        .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
        Returns:
        The retrievableFields.
      • getRetrievableFieldsOrBuilder

        @Deprecated
        com.google.protobuf.FieldMaskOrBuilder getRetrievableFieldsOrBuilder()
        Deprecated.
         Indicates which fields in the [Product][google.cloud.retail.v2.Product]s
         are returned in [SearchResponse][google.cloud.retail.v2.SearchResponse].
        
         Supported fields for all [type][google.cloud.retail.v2.Product.type]s:
        
         * [audience][google.cloud.retail.v2.Product.audience]
         * [availability][google.cloud.retail.v2.Product.availability]
         * [brands][google.cloud.retail.v2.Product.brands]
         * [color_info][google.cloud.retail.v2.Product.color_info]
         * [conditions][google.cloud.retail.v2.Product.conditions]
         * [gtin][google.cloud.retail.v2.Product.gtin]
         * [materials][google.cloud.retail.v2.Product.materials]
         * [name][google.cloud.retail.v2.Product.name]
         * [patterns][google.cloud.retail.v2.Product.patterns]
         * [price_info][google.cloud.retail.v2.Product.price_info]
         * [rating][google.cloud.retail.v2.Product.rating]
         * [sizes][google.cloud.retail.v2.Product.sizes]
         * [title][google.cloud.retail.v2.Product.title]
         * [uri][google.cloud.retail.v2.Product.uri]
        
         Supported fields only for
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]:
        
         * [categories][google.cloud.retail.v2.Product.categories]
         * [description][google.cloud.retail.v2.Product.description]
         * [images][google.cloud.retail.v2.Product.images]
        
         Supported fields only for
         [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]:
        
         * Only the first image in [images][google.cloud.retail.v2.Product.images]
        
         To mark [attributes][google.cloud.retail.v2.Product.attributes] as
         retrievable, include paths of the form "attributes.key" where "key" is the
         key of a custom attribute, as specified in
         [attributes][google.cloud.retail.v2.Product.attributes].
        
         For [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
         [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], the
         following fields are always returned in
         [SearchResponse][google.cloud.retail.v2.SearchResponse] by default:
        
         * [name][google.cloud.retail.v2.Product.name]
        
         For [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT], the
         following fields are always returned in by default:
        
         * [name][google.cloud.retail.v2.Product.name]
         * [color_info][google.cloud.retail.v2.Product.color_info]
        
         The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
         returned.
        
         Note: Returning more fields in
         [SearchResponse][google.cloud.retail.v2.SearchResponse] can increase
         response payload size and serving latency.
        
         This field is deprecated. Use the retrievable site-wide control instead.
         
        .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
      • getVariantsList

        List<Product> getVariantsList()
         Output only. Product variants grouped together on primary product which
         share similar product attributes. It's automatically grouped by
         [primary_product_id][google.cloud.retail.v2.Product.primary_product_id] for
         all the product variants. Only populated for
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product]s.
        
         Note: This field is OUTPUT_ONLY for
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
         Do not set this field in API requests.
         
        repeated .google.cloud.retail.v2.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getVariants

        Product getVariants​(int index)
         Output only. Product variants grouped together on primary product which
         share similar product attributes. It's automatically grouped by
         [primary_product_id][google.cloud.retail.v2.Product.primary_product_id] for
         all the product variants. Only populated for
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product]s.
        
         Note: This field is OUTPUT_ONLY for
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
         Do not set this field in API requests.
         
        repeated .google.cloud.retail.v2.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getVariantsCount

        int getVariantsCount()
         Output only. Product variants grouped together on primary product which
         share similar product attributes. It's automatically grouped by
         [primary_product_id][google.cloud.retail.v2.Product.primary_product_id] for
         all the product variants. Only populated for
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product]s.
        
         Note: This field is OUTPUT_ONLY for
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
         Do not set this field in API requests.
         
        repeated .google.cloud.retail.v2.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getVariantsOrBuilderList

        List<? extends ProductOrBuilder> getVariantsOrBuilderList()
         Output only. Product variants grouped together on primary product which
         share similar product attributes. It's automatically grouped by
         [primary_product_id][google.cloud.retail.v2.Product.primary_product_id] for
         all the product variants. Only populated for
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product]s.
        
         Note: This field is OUTPUT_ONLY for
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
         Do not set this field in API requests.
         
        repeated .google.cloud.retail.v2.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getVariantsOrBuilder

        ProductOrBuilder getVariantsOrBuilder​(int index)
         Output only. Product variants grouped together on primary product which
         share similar product attributes. It's automatically grouped by
         [primary_product_id][google.cloud.retail.v2.Product.primary_product_id] for
         all the product variants. Only populated for
         [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
         [Product][google.cloud.retail.v2.Product]s.
        
         Note: This field is OUTPUT_ONLY for
         [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
         Do not set this field in API requests.
         
        repeated .google.cloud.retail.v2.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getLocalInventoriesList

        List<LocalInventory> getLocalInventoriesList()
         Output only. A list of local inventories specific to different places.
        
         This field can be managed by
         [ProductService.AddLocalInventories][google.cloud.retail.v2.ProductService.AddLocalInventories]
         and
         [ProductService.RemoveLocalInventories][google.cloud.retail.v2.ProductService.RemoveLocalInventories]
         APIs if fine-grained, high-volume updates are necessary.
         
        repeated .google.cloud.retail.v2.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getLocalInventories

        LocalInventory getLocalInventories​(int index)
         Output only. A list of local inventories specific to different places.
        
         This field can be managed by
         [ProductService.AddLocalInventories][google.cloud.retail.v2.ProductService.AddLocalInventories]
         and
         [ProductService.RemoveLocalInventories][google.cloud.retail.v2.ProductService.RemoveLocalInventories]
         APIs if fine-grained, high-volume updates are necessary.
         
        repeated .google.cloud.retail.v2.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getLocalInventoriesCount

        int getLocalInventoriesCount()
         Output only. A list of local inventories specific to different places.
        
         This field can be managed by
         [ProductService.AddLocalInventories][google.cloud.retail.v2.ProductService.AddLocalInventories]
         and
         [ProductService.RemoveLocalInventories][google.cloud.retail.v2.ProductService.RemoveLocalInventories]
         APIs if fine-grained, high-volume updates are necessary.
         
        repeated .google.cloud.retail.v2.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getLocalInventoriesOrBuilderList

        List<? extends LocalInventoryOrBuilder> getLocalInventoriesOrBuilderList()
         Output only. A list of local inventories specific to different places.
        
         This field can be managed by
         [ProductService.AddLocalInventories][google.cloud.retail.v2.ProductService.AddLocalInventories]
         and
         [ProductService.RemoveLocalInventories][google.cloud.retail.v2.ProductService.RemoveLocalInventories]
         APIs if fine-grained, high-volume updates are necessary.
         
        repeated .google.cloud.retail.v2.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getLocalInventoriesOrBuilder

        LocalInventoryOrBuilder getLocalInventoriesOrBuilder​(int index)
         Output only. A list of local inventories specific to different places.
        
         This field can be managed by
         [ProductService.AddLocalInventories][google.cloud.retail.v2.ProductService.AddLocalInventories]
         and
         [ProductService.RemoveLocalInventories][google.cloud.retail.v2.ProductService.RemoveLocalInventories]
         APIs if fine-grained, high-volume updates are necessary.
         
        repeated .google.cloud.retail.v2.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];