Class SetInventoryRequest.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<SetInventoryRequest.Builder>
com.google.cloud.retail.v2alpha.SetInventoryRequest.Builder
All Implemented Interfaces:
SetInventoryRequestOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
SetInventoryRequest

public static final class SetInventoryRequest.Builder extends com.google.protobuf.GeneratedMessage.Builder<SetInventoryRequest.Builder> implements SetInventoryRequestOrBuilder
 Request message for
 [ProductService.SetInventory][google.cloud.retail.v2alpha.ProductService.SetInventory]
 method.
 
Protobuf type google.cloud.retail.v2alpha.SetInventoryRequest
  • Method Summary

    Modifier and Type
    Method
    Description
     
     
     
    If set to true, and the [Product][google.cloud.retail.v2alpha.Product] with name [Product.name][google.cloud.retail.v2alpha.Product.name] is not found, the inventory update will still be processed and retained for at most 1 day until the [Product][google.cloud.retail.v2alpha.Product] is created.
    Required.
    Indicates which inventory fields in the provided [Product][google.cloud.retail.v2alpha.Product] to update.
    The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded.
    boolean
    If set to true, and the [Product][google.cloud.retail.v2alpha.Product] with name [Product.name][google.cloud.retail.v2alpha.Product.name] is not found, the inventory update will still be processed and retained for at most 1 day until the [Product][google.cloud.retail.v2alpha.Product] is created.
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    com.google.protobuf.Descriptors.Descriptor
     
    Required.
    Required.
    Required.
    com.google.protobuf.FieldMask
    Indicates which inventory fields in the provided [Product][google.cloud.retail.v2alpha.Product] to update.
    com.google.protobuf.FieldMask.Builder
    Indicates which inventory fields in the provided [Product][google.cloud.retail.v2alpha.Product] to update.
    com.google.protobuf.FieldMaskOrBuilder
    Indicates which inventory fields in the provided [Product][google.cloud.retail.v2alpha.Product] to update.
    com.google.protobuf.Timestamp
    The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded.
    com.google.protobuf.Timestamp.Builder
    The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded.
    com.google.protobuf.TimestampOrBuilder
    The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded.
    boolean
    Required.
    boolean
    Indicates which inventory fields in the provided [Product][google.cloud.retail.v2alpha.Product] to update.
    boolean
    The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded.
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
     
    final boolean
     
     
    mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    mergeFrom(com.google.protobuf.Message other)
     
    Required.
    mergeSetMask(com.google.protobuf.FieldMask value)
    Indicates which inventory fields in the provided [Product][google.cloud.retail.v2alpha.Product] to update.
    mergeSetTime(com.google.protobuf.Timestamp value)
    The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded.
    setAllowMissing(boolean value)
    If set to true, and the [Product][google.cloud.retail.v2alpha.Product] with name [Product.name][google.cloud.retail.v2alpha.Product.name] is not found, the inventory update will still be processed and retained for at most 1 day until the [Product][google.cloud.retail.v2alpha.Product] is created.
    Required.
    setInventory(Product.Builder builderForValue)
    Required.
    setSetMask(com.google.protobuf.FieldMask value)
    Indicates which inventory fields in the provided [Product][google.cloud.retail.v2alpha.Product] to update.
    setSetMask(com.google.protobuf.FieldMask.Builder builderForValue)
    Indicates which inventory fields in the provided [Product][google.cloud.retail.v2alpha.Product] to update.
    setSetTime(com.google.protobuf.Timestamp value)
    The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded.
    setSetTime(com.google.protobuf.Timestamp.Builder builderForValue)
    The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded.

    Methods inherited from class com.google.protobuf.GeneratedMessage.Builder

    addRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownFields, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFields, setUnknownFieldSetBuilder, setUnknownFieldsProto3

    Methods inherited from class com.google.protobuf.AbstractMessage.Builder

    findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString

    Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder

    addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.Message.Builder

    mergeDelimitedFrom, mergeDelimitedFrom

    Methods inherited from interface com.google.protobuf.MessageLite.Builder

    mergeFrom

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<SetInventoryRequest.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<SetInventoryRequest.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<SetInventoryRequest.Builder>
    • getDefaultInstanceForType

      public SetInventoryRequest getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public SetInventoryRequest build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public SetInventoryRequest buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public SetInventoryRequest.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<SetInventoryRequest.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<SetInventoryRequest.Builder>
    • mergeFrom

      public SetInventoryRequest.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<SetInventoryRequest.Builder>
      Throws:
      IOException
    • hasInventory

      public boolean hasInventory()
       Required. The inventory information to update. The allowable fields to
       update are:
      
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       The updated inventory fields must be specified in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask].
      
       If
       [SetInventoryRequest.inventory.name][google.cloud.retail.v2alpha.Product.name]
       is empty or invalid, an INVALID_ARGUMENT error is returned.
      
       If the caller does not have permission to update the
       [Product][google.cloud.retail.v2alpha.Product] named in
       [Product.name][google.cloud.retail.v2alpha.Product.name], regardless of
       whether or not it exists, a PERMISSION_DENIED error is returned.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update does not
       have existing inventory information, the provided inventory information
       will be inserted.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update has
       existing inventory information, the provided inventory information will be
       merged while respecting the last update time for each inventory field,
       using the provided or default value for
       [SetInventoryRequest.set_time][google.cloud.retail.v2alpha.SetInventoryRequest.set_time].
      
       The caller can replace place IDs for a subset of fulfillment types in the
       following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types and corresponding place IDs
       to update in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       The caller can clear all place IDs from a subset of fulfillment types in
       the following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types to clear in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       * Checks that only the desired fulfillment info types have empty
       [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
      
       The last update time is recorded for the following inventory fields:
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       If a full overwrite of inventory information while ignoring timestamps is
       needed,
       [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
       should be invoked instead.
       
      .google.cloud.retail.v2alpha.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      hasInventory in interface SetInventoryRequestOrBuilder
      Returns:
      Whether the inventory field is set.
    • getInventory

      public Product getInventory()
       Required. The inventory information to update. The allowable fields to
       update are:
      
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       The updated inventory fields must be specified in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask].
      
       If
       [SetInventoryRequest.inventory.name][google.cloud.retail.v2alpha.Product.name]
       is empty or invalid, an INVALID_ARGUMENT error is returned.
      
       If the caller does not have permission to update the
       [Product][google.cloud.retail.v2alpha.Product] named in
       [Product.name][google.cloud.retail.v2alpha.Product.name], regardless of
       whether or not it exists, a PERMISSION_DENIED error is returned.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update does not
       have existing inventory information, the provided inventory information
       will be inserted.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update has
       existing inventory information, the provided inventory information will be
       merged while respecting the last update time for each inventory field,
       using the provided or default value for
       [SetInventoryRequest.set_time][google.cloud.retail.v2alpha.SetInventoryRequest.set_time].
      
       The caller can replace place IDs for a subset of fulfillment types in the
       following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types and corresponding place IDs
       to update in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       The caller can clear all place IDs from a subset of fulfillment types in
       the following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types to clear in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       * Checks that only the desired fulfillment info types have empty
       [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
      
       The last update time is recorded for the following inventory fields:
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       If a full overwrite of inventory information while ignoring timestamps is
       needed,
       [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
       should be invoked instead.
       
      .google.cloud.retail.v2alpha.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getInventory in interface SetInventoryRequestOrBuilder
      Returns:
      The inventory.
    • setInventory

      public SetInventoryRequest.Builder setInventory(Product value)
       Required. The inventory information to update. The allowable fields to
       update are:
      
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       The updated inventory fields must be specified in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask].
      
       If
       [SetInventoryRequest.inventory.name][google.cloud.retail.v2alpha.Product.name]
       is empty or invalid, an INVALID_ARGUMENT error is returned.
      
       If the caller does not have permission to update the
       [Product][google.cloud.retail.v2alpha.Product] named in
       [Product.name][google.cloud.retail.v2alpha.Product.name], regardless of
       whether or not it exists, a PERMISSION_DENIED error is returned.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update does not
       have existing inventory information, the provided inventory information
       will be inserted.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update has
       existing inventory information, the provided inventory information will be
       merged while respecting the last update time for each inventory field,
       using the provided or default value for
       [SetInventoryRequest.set_time][google.cloud.retail.v2alpha.SetInventoryRequest.set_time].
      
       The caller can replace place IDs for a subset of fulfillment types in the
       following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types and corresponding place IDs
       to update in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       The caller can clear all place IDs from a subset of fulfillment types in
       the following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types to clear in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       * Checks that only the desired fulfillment info types have empty
       [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
      
       The last update time is recorded for the following inventory fields:
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       If a full overwrite of inventory information while ignoring timestamps is
       needed,
       [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
       should be invoked instead.
       
      .google.cloud.retail.v2alpha.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED];
    • setInventory

      public SetInventoryRequest.Builder setInventory(Product.Builder builderForValue)
       Required. The inventory information to update. The allowable fields to
       update are:
      
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       The updated inventory fields must be specified in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask].
      
       If
       [SetInventoryRequest.inventory.name][google.cloud.retail.v2alpha.Product.name]
       is empty or invalid, an INVALID_ARGUMENT error is returned.
      
       If the caller does not have permission to update the
       [Product][google.cloud.retail.v2alpha.Product] named in
       [Product.name][google.cloud.retail.v2alpha.Product.name], regardless of
       whether or not it exists, a PERMISSION_DENIED error is returned.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update does not
       have existing inventory information, the provided inventory information
       will be inserted.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update has
       existing inventory information, the provided inventory information will be
       merged while respecting the last update time for each inventory field,
       using the provided or default value for
       [SetInventoryRequest.set_time][google.cloud.retail.v2alpha.SetInventoryRequest.set_time].
      
       The caller can replace place IDs for a subset of fulfillment types in the
       following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types and corresponding place IDs
       to update in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       The caller can clear all place IDs from a subset of fulfillment types in
       the following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types to clear in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       * Checks that only the desired fulfillment info types have empty
       [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
      
       The last update time is recorded for the following inventory fields:
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       If a full overwrite of inventory information while ignoring timestamps is
       needed,
       [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
       should be invoked instead.
       
      .google.cloud.retail.v2alpha.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED];
    • mergeInventory

      public SetInventoryRequest.Builder mergeInventory(Product value)
       Required. The inventory information to update. The allowable fields to
       update are:
      
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       The updated inventory fields must be specified in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask].
      
       If
       [SetInventoryRequest.inventory.name][google.cloud.retail.v2alpha.Product.name]
       is empty or invalid, an INVALID_ARGUMENT error is returned.
      
       If the caller does not have permission to update the
       [Product][google.cloud.retail.v2alpha.Product] named in
       [Product.name][google.cloud.retail.v2alpha.Product.name], regardless of
       whether or not it exists, a PERMISSION_DENIED error is returned.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update does not
       have existing inventory information, the provided inventory information
       will be inserted.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update has
       existing inventory information, the provided inventory information will be
       merged while respecting the last update time for each inventory field,
       using the provided or default value for
       [SetInventoryRequest.set_time][google.cloud.retail.v2alpha.SetInventoryRequest.set_time].
      
       The caller can replace place IDs for a subset of fulfillment types in the
       following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types and corresponding place IDs
       to update in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       The caller can clear all place IDs from a subset of fulfillment types in
       the following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types to clear in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       * Checks that only the desired fulfillment info types have empty
       [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
      
       The last update time is recorded for the following inventory fields:
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       If a full overwrite of inventory information while ignoring timestamps is
       needed,
       [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
       should be invoked instead.
       
      .google.cloud.retail.v2alpha.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED];
    • clearInventory

      public SetInventoryRequest.Builder clearInventory()
       Required. The inventory information to update. The allowable fields to
       update are:
      
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       The updated inventory fields must be specified in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask].
      
       If
       [SetInventoryRequest.inventory.name][google.cloud.retail.v2alpha.Product.name]
       is empty or invalid, an INVALID_ARGUMENT error is returned.
      
       If the caller does not have permission to update the
       [Product][google.cloud.retail.v2alpha.Product] named in
       [Product.name][google.cloud.retail.v2alpha.Product.name], regardless of
       whether or not it exists, a PERMISSION_DENIED error is returned.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update does not
       have existing inventory information, the provided inventory information
       will be inserted.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update has
       existing inventory information, the provided inventory information will be
       merged while respecting the last update time for each inventory field,
       using the provided or default value for
       [SetInventoryRequest.set_time][google.cloud.retail.v2alpha.SetInventoryRequest.set_time].
      
       The caller can replace place IDs for a subset of fulfillment types in the
       following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types and corresponding place IDs
       to update in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       The caller can clear all place IDs from a subset of fulfillment types in
       the following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types to clear in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       * Checks that only the desired fulfillment info types have empty
       [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
      
       The last update time is recorded for the following inventory fields:
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       If a full overwrite of inventory information while ignoring timestamps is
       needed,
       [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
       should be invoked instead.
       
      .google.cloud.retail.v2alpha.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED];
    • getInventoryBuilder

      public Product.Builder getInventoryBuilder()
       Required. The inventory information to update. The allowable fields to
       update are:
      
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       The updated inventory fields must be specified in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask].
      
       If
       [SetInventoryRequest.inventory.name][google.cloud.retail.v2alpha.Product.name]
       is empty or invalid, an INVALID_ARGUMENT error is returned.
      
       If the caller does not have permission to update the
       [Product][google.cloud.retail.v2alpha.Product] named in
       [Product.name][google.cloud.retail.v2alpha.Product.name], regardless of
       whether or not it exists, a PERMISSION_DENIED error is returned.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update does not
       have existing inventory information, the provided inventory information
       will be inserted.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update has
       existing inventory information, the provided inventory information will be
       merged while respecting the last update time for each inventory field,
       using the provided or default value for
       [SetInventoryRequest.set_time][google.cloud.retail.v2alpha.SetInventoryRequest.set_time].
      
       The caller can replace place IDs for a subset of fulfillment types in the
       following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types and corresponding place IDs
       to update in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       The caller can clear all place IDs from a subset of fulfillment types in
       the following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types to clear in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       * Checks that only the desired fulfillment info types have empty
       [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
      
       The last update time is recorded for the following inventory fields:
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       If a full overwrite of inventory information while ignoring timestamps is
       needed,
       [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
       should be invoked instead.
       
      .google.cloud.retail.v2alpha.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED];
    • getInventoryOrBuilder

      public ProductOrBuilder getInventoryOrBuilder()
       Required. The inventory information to update. The allowable fields to
       update are:
      
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       The updated inventory fields must be specified in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask].
      
       If
       [SetInventoryRequest.inventory.name][google.cloud.retail.v2alpha.Product.name]
       is empty or invalid, an INVALID_ARGUMENT error is returned.
      
       If the caller does not have permission to update the
       [Product][google.cloud.retail.v2alpha.Product] named in
       [Product.name][google.cloud.retail.v2alpha.Product.name], regardless of
       whether or not it exists, a PERMISSION_DENIED error is returned.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update does not
       have existing inventory information, the provided inventory information
       will be inserted.
      
       If the [Product][google.cloud.retail.v2alpha.Product] to update has
       existing inventory information, the provided inventory information will be
       merged while respecting the last update time for each inventory field,
       using the provided or default value for
       [SetInventoryRequest.set_time][google.cloud.retail.v2alpha.SetInventoryRequest.set_time].
      
       The caller can replace place IDs for a subset of fulfillment types in the
       following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types and corresponding place IDs
       to update in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       The caller can clear all place IDs from a subset of fulfillment types in
       the following ways:
      
       * Adds "fulfillment_info" in
       [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
       * Specifies only the desired fulfillment types to clear in
       [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
       * Checks that only the desired fulfillment info types have empty
       [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
      
       The last update time is recorded for the following inventory fields:
       * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
       * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
       * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
       * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
      
       If a full overwrite of inventory information while ignoring timestamps is
       needed,
       [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
       should be invoked instead.
       
      .google.cloud.retail.v2alpha.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getInventoryOrBuilder in interface SetInventoryRequestOrBuilder
    • hasSetMask

      public boolean hasSetMask()
       Indicates which inventory fields in the provided
       [Product][google.cloud.retail.v2alpha.Product] to update.
      
       At least one field must be provided.
      
       If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
       is returned and the entire update will be ignored.
       
      .google.protobuf.FieldMask set_mask = 2;
      Specified by:
      hasSetMask in interface SetInventoryRequestOrBuilder
      Returns:
      Whether the setMask field is set.
    • getSetMask

      public com.google.protobuf.FieldMask getSetMask()
       Indicates which inventory fields in the provided
       [Product][google.cloud.retail.v2alpha.Product] to update.
      
       At least one field must be provided.
      
       If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
       is returned and the entire update will be ignored.
       
      .google.protobuf.FieldMask set_mask = 2;
      Specified by:
      getSetMask in interface SetInventoryRequestOrBuilder
      Returns:
      The setMask.
    • setSetMask

      public SetInventoryRequest.Builder setSetMask(com.google.protobuf.FieldMask value)
       Indicates which inventory fields in the provided
       [Product][google.cloud.retail.v2alpha.Product] to update.
      
       At least one field must be provided.
      
       If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
       is returned and the entire update will be ignored.
       
      .google.protobuf.FieldMask set_mask = 2;
    • setSetMask

      public SetInventoryRequest.Builder setSetMask(com.google.protobuf.FieldMask.Builder builderForValue)
       Indicates which inventory fields in the provided
       [Product][google.cloud.retail.v2alpha.Product] to update.
      
       At least one field must be provided.
      
       If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
       is returned and the entire update will be ignored.
       
      .google.protobuf.FieldMask set_mask = 2;
    • mergeSetMask

      public SetInventoryRequest.Builder mergeSetMask(com.google.protobuf.FieldMask value)
       Indicates which inventory fields in the provided
       [Product][google.cloud.retail.v2alpha.Product] to update.
      
       At least one field must be provided.
      
       If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
       is returned and the entire update will be ignored.
       
      .google.protobuf.FieldMask set_mask = 2;
    • clearSetMask

      public SetInventoryRequest.Builder clearSetMask()
       Indicates which inventory fields in the provided
       [Product][google.cloud.retail.v2alpha.Product] to update.
      
       At least one field must be provided.
      
       If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
       is returned and the entire update will be ignored.
       
      .google.protobuf.FieldMask set_mask = 2;
    • getSetMaskBuilder

      public com.google.protobuf.FieldMask.Builder getSetMaskBuilder()
       Indicates which inventory fields in the provided
       [Product][google.cloud.retail.v2alpha.Product] to update.
      
       At least one field must be provided.
      
       If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
       is returned and the entire update will be ignored.
       
      .google.protobuf.FieldMask set_mask = 2;
    • getSetMaskOrBuilder

      public com.google.protobuf.FieldMaskOrBuilder getSetMaskOrBuilder()
       Indicates which inventory fields in the provided
       [Product][google.cloud.retail.v2alpha.Product] to update.
      
       At least one field must be provided.
      
       If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
       is returned and the entire update will be ignored.
       
      .google.protobuf.FieldMask set_mask = 2;
      Specified by:
      getSetMaskOrBuilder in interface SetInventoryRequestOrBuilder
    • hasSetTime

      public boolean hasSetTime()
       The time when the request is issued, used to prevent
       out-of-order updates on inventory fields with the last update time
       recorded. If not provided, the internal system time will be used.
       
      .google.protobuf.Timestamp set_time = 3;
      Specified by:
      hasSetTime in interface SetInventoryRequestOrBuilder
      Returns:
      Whether the setTime field is set.
    • getSetTime

      public com.google.protobuf.Timestamp getSetTime()
       The time when the request is issued, used to prevent
       out-of-order updates on inventory fields with the last update time
       recorded. If not provided, the internal system time will be used.
       
      .google.protobuf.Timestamp set_time = 3;
      Specified by:
      getSetTime in interface SetInventoryRequestOrBuilder
      Returns:
      The setTime.
    • setSetTime

      public SetInventoryRequest.Builder setSetTime(com.google.protobuf.Timestamp value)
       The time when the request is issued, used to prevent
       out-of-order updates on inventory fields with the last update time
       recorded. If not provided, the internal system time will be used.
       
      .google.protobuf.Timestamp set_time = 3;
    • setSetTime

      public SetInventoryRequest.Builder setSetTime(com.google.protobuf.Timestamp.Builder builderForValue)
       The time when the request is issued, used to prevent
       out-of-order updates on inventory fields with the last update time
       recorded. If not provided, the internal system time will be used.
       
      .google.protobuf.Timestamp set_time = 3;
    • mergeSetTime

      public SetInventoryRequest.Builder mergeSetTime(com.google.protobuf.Timestamp value)
       The time when the request is issued, used to prevent
       out-of-order updates on inventory fields with the last update time
       recorded. If not provided, the internal system time will be used.
       
      .google.protobuf.Timestamp set_time = 3;
    • clearSetTime

      public SetInventoryRequest.Builder clearSetTime()
       The time when the request is issued, used to prevent
       out-of-order updates on inventory fields with the last update time
       recorded. If not provided, the internal system time will be used.
       
      .google.protobuf.Timestamp set_time = 3;
    • getSetTimeBuilder

      public com.google.protobuf.Timestamp.Builder getSetTimeBuilder()
       The time when the request is issued, used to prevent
       out-of-order updates on inventory fields with the last update time
       recorded. If not provided, the internal system time will be used.
       
      .google.protobuf.Timestamp set_time = 3;
    • getSetTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getSetTimeOrBuilder()
       The time when the request is issued, used to prevent
       out-of-order updates on inventory fields with the last update time
       recorded. If not provided, the internal system time will be used.
       
      .google.protobuf.Timestamp set_time = 3;
      Specified by:
      getSetTimeOrBuilder in interface SetInventoryRequestOrBuilder
    • getAllowMissing

      public boolean getAllowMissing()
       If set to true, and the [Product][google.cloud.retail.v2alpha.Product] with
       name [Product.name][google.cloud.retail.v2alpha.Product.name] is not found,
       the inventory update will still be processed and retained for at most 1 day
       until the [Product][google.cloud.retail.v2alpha.Product] is created. If set
       to false, a NOT_FOUND error is returned if the
       [Product][google.cloud.retail.v2alpha.Product] is not found.
       
      bool allow_missing = 4;
      Specified by:
      getAllowMissing in interface SetInventoryRequestOrBuilder
      Returns:
      The allowMissing.
    • setAllowMissing

      public SetInventoryRequest.Builder setAllowMissing(boolean value)
       If set to true, and the [Product][google.cloud.retail.v2alpha.Product] with
       name [Product.name][google.cloud.retail.v2alpha.Product.name] is not found,
       the inventory update will still be processed and retained for at most 1 day
       until the [Product][google.cloud.retail.v2alpha.Product] is created. If set
       to false, a NOT_FOUND error is returned if the
       [Product][google.cloud.retail.v2alpha.Product] is not found.
       
      bool allow_missing = 4;
      Parameters:
      value - The allowMissing to set.
      Returns:
      This builder for chaining.
    • clearAllowMissing

      public SetInventoryRequest.Builder clearAllowMissing()
       If set to true, and the [Product][google.cloud.retail.v2alpha.Product] with
       name [Product.name][google.cloud.retail.v2alpha.Product.name] is not found,
       the inventory update will still be processed and retained for at most 1 day
       until the [Product][google.cloud.retail.v2alpha.Product] is created. If set
       to false, a NOT_FOUND error is returned if the
       [Product][google.cloud.retail.v2alpha.Product] is not found.
       
      bool allow_missing = 4;
      Returns:
      This builder for chaining.