com.google.api.services.retail.v2.model.GoogleCloudRetailV2SearchResponseSearchResult Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.retail.v2.model;
/**
* Represents the search results.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Retail API. For a detailed explanation see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class GoogleCloudRetailV2SearchResponseSearchResult extends com.google.api.client.json.GenericJson {
/**
* Product.id of the searched Product.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String id;
/**
* The count of matched variant Products.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer matchingVariantCount;
/**
* If a variant Product matches the search query, this map indicates which Product fields are
* matched. The key is the Product.name, the value is a field mask of the matched Product fields.
* If matched attributes cannot be determined, this map will be empty. For example, a key "sku1"
* with field mask "products.color_info" indicates there is a match between "sku1" ColorInfo and
* the query.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map matchingVariantFields;
/**
* The product data snippet in the search response. Only Product.name is guaranteed to be
* populated. Product.variants contains the product variants that match the search query. If there
* are multiple product variants matching the query, top 5 most relevant product variants are
* returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields
* to look up matched product variants fields. If relevancy cannot be determined, e.g. when
* searching "shoe" all products in a shoe product can be a match, 5 product variants are returned
* but order is meaningless.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudRetailV2Product product;
/**
* The rollup matching variant Product attributes. The key is one of the
* SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product
* attributes. Notice that the rollup values are respect filter. For example, when filtering by
* "colorFamilies:ANY(\"red\")" and rollup "colorFamilies", only "red" is returned. For textual
* and numerical attributes, the rollup values is a list of string or double values with type
* google.protobuf.ListValue. For example, if there are two variants with colors "red" and "blue",
* the rollup values are { key: "colorFamilies" value { list_value { values { string_value: "red"
* } values { string_value: "blue" } } } } For FulfillmentInfo, the rollup values is a double
* value with type google.protobuf.Value. For example, `{key: "pickupInStore.store1" value {
* number_value: 10 }}` means a there are 10 variants in this product are available in the store
* "store1".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map variantRollupValues;
/**
* Product.id of the searched Product.
* @return value or {@code null} for none
*/
public java.lang.String getId() {
return id;
}
/**
* Product.id of the searched Product.
* @param id id or {@code null} for none
*/
public GoogleCloudRetailV2SearchResponseSearchResult setId(java.lang.String id) {
this.id = id;
return this;
}
/**
* The count of matched variant Products.
* @return value or {@code null} for none
*/
public java.lang.Integer getMatchingVariantCount() {
return matchingVariantCount;
}
/**
* The count of matched variant Products.
* @param matchingVariantCount matchingVariantCount or {@code null} for none
*/
public GoogleCloudRetailV2SearchResponseSearchResult setMatchingVariantCount(java.lang.Integer matchingVariantCount) {
this.matchingVariantCount = matchingVariantCount;
return this;
}
/**
* If a variant Product matches the search query, this map indicates which Product fields are
* matched. The key is the Product.name, the value is a field mask of the matched Product fields.
* If matched attributes cannot be determined, this map will be empty. For example, a key "sku1"
* with field mask "products.color_info" indicates there is a match between "sku1" ColorInfo and
* the query.
* @return value or {@code null} for none
*/
public java.util.Map getMatchingVariantFields() {
return matchingVariantFields;
}
/**
* If a variant Product matches the search query, this map indicates which Product fields are
* matched. The key is the Product.name, the value is a field mask of the matched Product fields.
* If matched attributes cannot be determined, this map will be empty. For example, a key "sku1"
* with field mask "products.color_info" indicates there is a match between "sku1" ColorInfo and
* the query.
* @param matchingVariantFields matchingVariantFields or {@code null} for none
*/
public GoogleCloudRetailV2SearchResponseSearchResult setMatchingVariantFields(java.util.Map matchingVariantFields) {
this.matchingVariantFields = matchingVariantFields;
return this;
}
/**
* The product data snippet in the search response. Only Product.name is guaranteed to be
* populated. Product.variants contains the product variants that match the search query. If there
* are multiple product variants matching the query, top 5 most relevant product variants are
* returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields
* to look up matched product variants fields. If relevancy cannot be determined, e.g. when
* searching "shoe" all products in a shoe product can be a match, 5 product variants are returned
* but order is meaningless.
* @return value or {@code null} for none
*/
public GoogleCloudRetailV2Product getProduct() {
return product;
}
/**
* The product data snippet in the search response. Only Product.name is guaranteed to be
* populated. Product.variants contains the product variants that match the search query. If there
* are multiple product variants matching the query, top 5 most relevant product variants are
* returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields
* to look up matched product variants fields. If relevancy cannot be determined, e.g. when
* searching "shoe" all products in a shoe product can be a match, 5 product variants are returned
* but order is meaningless.
* @param product product or {@code null} for none
*/
public GoogleCloudRetailV2SearchResponseSearchResult setProduct(GoogleCloudRetailV2Product product) {
this.product = product;
return this;
}
/**
* The rollup matching variant Product attributes. The key is one of the
* SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product
* attributes. Notice that the rollup values are respect filter. For example, when filtering by
* "colorFamilies:ANY(\"red\")" and rollup "colorFamilies", only "red" is returned. For textual
* and numerical attributes, the rollup values is a list of string or double values with type
* google.protobuf.ListValue. For example, if there are two variants with colors "red" and "blue",
* the rollup values are { key: "colorFamilies" value { list_value { values { string_value: "red"
* } values { string_value: "blue" } } } } For FulfillmentInfo, the rollup values is a double
* value with type google.protobuf.Value. For example, `{key: "pickupInStore.store1" value {
* number_value: 10 }}` means a there are 10 variants in this product are available in the store
* "store1".
* @return value or {@code null} for none
*/
public java.util.Map getVariantRollupValues() {
return variantRollupValues;
}
/**
* The rollup matching variant Product attributes. The key is one of the
* SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product
* attributes. Notice that the rollup values are respect filter. For example, when filtering by
* "colorFamilies:ANY(\"red\")" and rollup "colorFamilies", only "red" is returned. For textual
* and numerical attributes, the rollup values is a list of string or double values with type
* google.protobuf.ListValue. For example, if there are two variants with colors "red" and "blue",
* the rollup values are { key: "colorFamilies" value { list_value { values { string_value: "red"
* } values { string_value: "blue" } } } } For FulfillmentInfo, the rollup values is a double
* value with type google.protobuf.Value. For example, `{key: "pickupInStore.store1" value {
* number_value: 10 }}` means a there are 10 variants in this product are available in the store
* "store1".
* @param variantRollupValues variantRollupValues or {@code null} for none
*/
public GoogleCloudRetailV2SearchResponseSearchResult setVariantRollupValues(java.util.Map variantRollupValues) {
this.variantRollupValues = variantRollupValues;
return this;
}
@Override
public GoogleCloudRetailV2SearchResponseSearchResult set(String fieldName, Object value) {
return (GoogleCloudRetailV2SearchResponseSearchResult) super.set(fieldName, value);
}
@Override
public GoogleCloudRetailV2SearchResponseSearchResult clone() {
return (GoogleCloudRetailV2SearchResponseSearchResult) super.clone();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy