• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/retail/v2/common.proto
18 
19 package com.google.cloud.retail.v2;
20 
21 public interface PriceInfoOrBuilder
22     extends
23     // @@protoc_insertion_point(interface_extends:google.cloud.retail.v2.PriceInfo)
24     com.google.protobuf.MessageOrBuilder {
25 
26   /**
27    *
28    *
29    * <pre>
30    * The 3-letter currency code defined in [ISO
31    * 4217](https://www.iso.org/iso-4217-currency-codes.html).
32    * If this field is an unrecognizable currency code, an INVALID_ARGUMENT
33    * error is returned.
34    * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
35    * [Product][google.cloud.retail.v2.Product]s with the same
36    * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
37    * must share the same
38    * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
39    * a FAILED_PRECONDITION error is returned.
40    * </pre>
41    *
42    * <code>string currency_code = 1;</code>
43    *
44    * @return The currencyCode.
45    */
getCurrencyCode()46   java.lang.String getCurrencyCode();
47   /**
48    *
49    *
50    * <pre>
51    * The 3-letter currency code defined in [ISO
52    * 4217](https://www.iso.org/iso-4217-currency-codes.html).
53    * If this field is an unrecognizable currency code, an INVALID_ARGUMENT
54    * error is returned.
55    * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
56    * [Product][google.cloud.retail.v2.Product]s with the same
57    * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
58    * must share the same
59    * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
60    * a FAILED_PRECONDITION error is returned.
61    * </pre>
62    *
63    * <code>string currency_code = 1;</code>
64    *
65    * @return The bytes for currencyCode.
66    */
getCurrencyCodeBytes()67   com.google.protobuf.ByteString getCurrencyCodeBytes();
68 
69   /**
70    *
71    *
72    * <pre>
73    * Price of the product.
74    * Google Merchant Center property
75    * [price](https://support.google.com/merchants/answer/6324371). Schema.org
76    * property [Offer.price](https://schema.org/price).
77    * </pre>
78    *
79    * <code>float price = 2;</code>
80    *
81    * @return The price.
82    */
getPrice()83   float getPrice();
84 
85   /**
86    *
87    *
88    * <pre>
89    * Price of the product without any discount. If zero, by default set to be
90    * the [price][google.cloud.retail.v2.PriceInfo.price]. If set,
91    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] should be
92    * greater than or equal to [price][google.cloud.retail.v2.PriceInfo.price],
93    * otherwise an INVALID_ARGUMENT error is thrown.
94    * </pre>
95    *
96    * <code>float original_price = 3;</code>
97    *
98    * @return The originalPrice.
99    */
getOriginalPrice()100   float getOriginalPrice();
101 
102   /**
103    *
104    *
105    * <pre>
106    * The costs associated with the sale of a particular product. Used for gross
107    * profit reporting.
108    * * Profit = [price][google.cloud.retail.v2.PriceInfo.price] -
109    * [cost][google.cloud.retail.v2.PriceInfo.cost]
110    * Google Merchant Center property
111    * [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
112    * </pre>
113    *
114    * <code>float cost = 4;</code>
115    *
116    * @return The cost.
117    */
getCost()118   float getCost();
119 
120   /**
121    *
122    *
123    * <pre>
124    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
125    * starts to be effective. This can be set as a future timestamp, and the
126    * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
127    * after
128    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
129    * If so, the
130    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
131    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
132    * is used before
133    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
134    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
135    * effective because it will cause additional latency during search.
136    * </pre>
137    *
138    * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
139    *
140    * @return Whether the priceEffectiveTime field is set.
141    */
hasPriceEffectiveTime()142   boolean hasPriceEffectiveTime();
143   /**
144    *
145    *
146    * <pre>
147    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
148    * starts to be effective. This can be set as a future timestamp, and the
149    * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
150    * after
151    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
152    * If so, the
153    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
154    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
155    * is used before
156    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
157    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
158    * effective because it will cause additional latency during search.
159    * </pre>
160    *
161    * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
162    *
163    * @return The priceEffectiveTime.
164    */
getPriceEffectiveTime()165   com.google.protobuf.Timestamp getPriceEffectiveTime();
166   /**
167    *
168    *
169    * <pre>
170    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
171    * starts to be effective. This can be set as a future timestamp, and the
172    * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
173    * after
174    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
175    * If so, the
176    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
177    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
178    * is used before
179    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
180    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
181    * effective because it will cause additional latency during search.
182    * </pre>
183    *
184    * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
185    */
getPriceEffectiveTimeOrBuilder()186   com.google.protobuf.TimestampOrBuilder getPriceEffectiveTimeOrBuilder();
187 
188   /**
189    *
190    *
191    * <pre>
192    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
193    * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
194    * is used for search before
195    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
196    * this field is set, the
197    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
198    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
199    * is used after
200    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
201    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
202    * effective because it will cause additional latency during search.
203    * </pre>
204    *
205    * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
206    *
207    * @return Whether the priceExpireTime field is set.
208    */
hasPriceExpireTime()209   boolean hasPriceExpireTime();
210   /**
211    *
212    *
213    * <pre>
214    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
215    * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
216    * is used for search before
217    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
218    * this field is set, the
219    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
220    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
221    * is used after
222    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
223    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
224    * effective because it will cause additional latency during search.
225    * </pre>
226    *
227    * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
228    *
229    * @return The priceExpireTime.
230    */
getPriceExpireTime()231   com.google.protobuf.Timestamp getPriceExpireTime();
232   /**
233    *
234    *
235    * <pre>
236    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
237    * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
238    * is used for search before
239    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
240    * this field is set, the
241    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
242    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
243    * is used after
244    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
245    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
246    * effective because it will cause additional latency during search.
247    * </pre>
248    *
249    * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
250    */
getPriceExpireTimeOrBuilder()251   com.google.protobuf.TimestampOrBuilder getPriceExpireTimeOrBuilder();
252 
253   /**
254    *
255    *
256    * <pre>
257    * Output only. The price range of all the child
258    * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
259    * [Product][google.cloud.retail.v2.Product]s grouped together on the
260    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
261    * [Product][google.cloud.retail.v2.Product]. Only populated for
262    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
263    * [Product][google.cloud.retail.v2.Product]s.
264    * Note: This field is OUTPUT_ONLY for
265    * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
266    * Do not set this field in API requests.
267    * </pre>
268    *
269    * <code>
270    * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
271    * </code>
272    *
273    * @return Whether the priceRange field is set.
274    */
hasPriceRange()275   boolean hasPriceRange();
276   /**
277    *
278    *
279    * <pre>
280    * Output only. The price range of all the child
281    * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
282    * [Product][google.cloud.retail.v2.Product]s grouped together on the
283    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
284    * [Product][google.cloud.retail.v2.Product]. Only populated for
285    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
286    * [Product][google.cloud.retail.v2.Product]s.
287    * Note: This field is OUTPUT_ONLY for
288    * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
289    * Do not set this field in API requests.
290    * </pre>
291    *
292    * <code>
293    * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
294    * </code>
295    *
296    * @return The priceRange.
297    */
getPriceRange()298   com.google.cloud.retail.v2.PriceInfo.PriceRange getPriceRange();
299   /**
300    *
301    *
302    * <pre>
303    * Output only. The price range of all the child
304    * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
305    * [Product][google.cloud.retail.v2.Product]s grouped together on the
306    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
307    * [Product][google.cloud.retail.v2.Product]. Only populated for
308    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
309    * [Product][google.cloud.retail.v2.Product]s.
310    * Note: This field is OUTPUT_ONLY for
311    * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
312    * Do not set this field in API requests.
313    * </pre>
314    *
315    * <code>
316    * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
317    * </code>
318    */
getPriceRangeOrBuilder()319   com.google.cloud.retail.v2.PriceInfo.PriceRangeOrBuilder getPriceRangeOrBuilder();
320 }
321