Class 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.GeneratedMessageV3.Builder<SetInventoryRequest.Builder>
    implements SetInventoryRequestOrBuilder
     Request message for
     [ProductService.SetInventory][google.cloud.retail.v2.ProductService.SetInventory]
     method.
     
    Protobuf type google.cloud.retail.v2.SetInventoryRequest
    • Method Detail

      • getDescriptor

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

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

        public 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.GeneratedMessageV3.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.GeneratedMessageV3.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
      • clone

        public SetInventoryRequest.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<SetInventoryRequest.Builder>
      • setField

        public SetInventoryRequest.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                    Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<SetInventoryRequest.Builder>
      • clearField

        public SetInventoryRequest.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<SetInventoryRequest.Builder>
      • clearOneof

        public SetInventoryRequest.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<SetInventoryRequest.Builder>
      • setRepeatedField

        public SetInventoryRequest.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                            int index,
                                                            Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<SetInventoryRequest.Builder>
      • addRepeatedField

        public SetInventoryRequest.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                            Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<SetInventoryRequest.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>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.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.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         The updated inventory fields must be specified in
         [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
        
         If
         [SetInventoryRequest.inventory.name][google.cloud.retail.v2.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.v2.Product] named in
         [Product.name][google.cloud.retail.v2.Product.name], regardless of whether
         or not it exists, a PERMISSION_DENIED error is returned.
        
         If the [Product][google.cloud.retail.v2.Product] to update does not have
         existing inventory information, the provided inventory information will be
         inserted.
        
         If the [Product][google.cloud.retail.v2.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.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types and corresponding place IDs
         to update in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types to clear in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         * Checks that only the desired fulfillment info types have empty
         [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
        
         The last update time is recorded for the following inventory fields:
         * [Product.price_info][google.cloud.retail.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
        
         If a full overwrite of inventory information while ignoring timestamps is
         needed,
         [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
         should be invoked instead.
         
        .google.cloud.retail.v2.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.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         The updated inventory fields must be specified in
         [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
        
         If
         [SetInventoryRequest.inventory.name][google.cloud.retail.v2.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.v2.Product] named in
         [Product.name][google.cloud.retail.v2.Product.name], regardless of whether
         or not it exists, a PERMISSION_DENIED error is returned.
        
         If the [Product][google.cloud.retail.v2.Product] to update does not have
         existing inventory information, the provided inventory information will be
         inserted.
        
         If the [Product][google.cloud.retail.v2.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.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types and corresponding place IDs
         to update in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types to clear in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         * Checks that only the desired fulfillment info types have empty
         [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
        
         The last update time is recorded for the following inventory fields:
         * [Product.price_info][google.cloud.retail.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
        
         If a full overwrite of inventory information while ignoring timestamps is
         needed,
         [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
         should be invoked instead.
         
        .google.cloud.retail.v2.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.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         The updated inventory fields must be specified in
         [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
        
         If
         [SetInventoryRequest.inventory.name][google.cloud.retail.v2.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.v2.Product] named in
         [Product.name][google.cloud.retail.v2.Product.name], regardless of whether
         or not it exists, a PERMISSION_DENIED error is returned.
        
         If the [Product][google.cloud.retail.v2.Product] to update does not have
         existing inventory information, the provided inventory information will be
         inserted.
        
         If the [Product][google.cloud.retail.v2.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.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types and corresponding place IDs
         to update in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types to clear in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         * Checks that only the desired fulfillment info types have empty
         [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
        
         The last update time is recorded for the following inventory fields:
         * [Product.price_info][google.cloud.retail.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
        
         If a full overwrite of inventory information while ignoring timestamps is
         needed,
         [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
         should be invoked instead.
         
        .google.cloud.retail.v2.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.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         The updated inventory fields must be specified in
         [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
        
         If
         [SetInventoryRequest.inventory.name][google.cloud.retail.v2.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.v2.Product] named in
         [Product.name][google.cloud.retail.v2.Product.name], regardless of whether
         or not it exists, a PERMISSION_DENIED error is returned.
        
         If the [Product][google.cloud.retail.v2.Product] to update does not have
         existing inventory information, the provided inventory information will be
         inserted.
        
         If the [Product][google.cloud.retail.v2.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.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types and corresponding place IDs
         to update in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types to clear in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         * Checks that only the desired fulfillment info types have empty
         [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
        
         The last update time is recorded for the following inventory fields:
         * [Product.price_info][google.cloud.retail.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
        
         If a full overwrite of inventory information while ignoring timestamps is
         needed,
         [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
         should be invoked instead.
         
        .google.cloud.retail.v2.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.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         The updated inventory fields must be specified in
         [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
        
         If
         [SetInventoryRequest.inventory.name][google.cloud.retail.v2.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.v2.Product] named in
         [Product.name][google.cloud.retail.v2.Product.name], regardless of whether
         or not it exists, a PERMISSION_DENIED error is returned.
        
         If the [Product][google.cloud.retail.v2.Product] to update does not have
         existing inventory information, the provided inventory information will be
         inserted.
        
         If the [Product][google.cloud.retail.v2.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.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types and corresponding place IDs
         to update in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types to clear in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         * Checks that only the desired fulfillment info types have empty
         [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
        
         The last update time is recorded for the following inventory fields:
         * [Product.price_info][google.cloud.retail.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
        
         If a full overwrite of inventory information while ignoring timestamps is
         needed,
         [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
         should be invoked instead.
         
        .google.cloud.retail.v2.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.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         The updated inventory fields must be specified in
         [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
        
         If
         [SetInventoryRequest.inventory.name][google.cloud.retail.v2.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.v2.Product] named in
         [Product.name][google.cloud.retail.v2.Product.name], regardless of whether
         or not it exists, a PERMISSION_DENIED error is returned.
        
         If the [Product][google.cloud.retail.v2.Product] to update does not have
         existing inventory information, the provided inventory information will be
         inserted.
        
         If the [Product][google.cloud.retail.v2.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.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types and corresponding place IDs
         to update in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types to clear in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         * Checks that only the desired fulfillment info types have empty
         [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
        
         The last update time is recorded for the following inventory fields:
         * [Product.price_info][google.cloud.retail.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
        
         If a full overwrite of inventory information while ignoring timestamps is
         needed,
         [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
         should be invoked instead.
         
        .google.cloud.retail.v2.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.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         The updated inventory fields must be specified in
         [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
        
         If
         [SetInventoryRequest.inventory.name][google.cloud.retail.v2.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.v2.Product] named in
         [Product.name][google.cloud.retail.v2.Product.name], regardless of whether
         or not it exists, a PERMISSION_DENIED error is returned.
        
         If the [Product][google.cloud.retail.v2.Product] to update does not have
         existing inventory information, the provided inventory information will be
         inserted.
        
         If the [Product][google.cloud.retail.v2.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.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types and corresponding place IDs
         to update in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types to clear in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         * Checks that only the desired fulfillment info types have empty
         [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
        
         The last update time is recorded for the following inventory fields:
         * [Product.price_info][google.cloud.retail.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
        
         If a full overwrite of inventory information while ignoring timestamps is
         needed,
         [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
         should be invoked instead.
         
        .google.cloud.retail.v2.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.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         The updated inventory fields must be specified in
         [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
        
         If
         [SetInventoryRequest.inventory.name][google.cloud.retail.v2.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.v2.Product] named in
         [Product.name][google.cloud.retail.v2.Product.name], regardless of whether
         or not it exists, a PERMISSION_DENIED error is returned.
        
         If the [Product][google.cloud.retail.v2.Product] to update does not have
         existing inventory information, the provided inventory information will be
         inserted.
        
         If the [Product][google.cloud.retail.v2.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.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types and corresponding place IDs
         to update in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.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.v2.SetInventoryRequest.set_mask]
         * Specifies only the desired fulfillment types to clear in
         [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
         * Checks that only the desired fulfillment info types have empty
         [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
        
         The last update time is recorded for the following inventory fields:
         * [Product.price_info][google.cloud.retail.v2.Product.price_info]
         * [Product.availability][google.cloud.retail.v2.Product.availability]
         * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
         * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
        
         If a full overwrite of inventory information while ignoring timestamps is
         needed,
         [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
         should be invoked instead.
         
        .google.cloud.retail.v2.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.v2.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.v2.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.v2.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.v2.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.v2.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.v2.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.v2.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.v2.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.v2.Product] with name
         [Product.name][google.cloud.retail.v2.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.v2.Product] is created. If set to
         false, a NOT_FOUND error is returned if the
         [Product][google.cloud.retail.v2.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.v2.Product] with name
         [Product.name][google.cloud.retail.v2.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.v2.Product] is created. If set to
         false, a NOT_FOUND error is returned if the
         [Product][google.cloud.retail.v2.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.v2.Product] with name
         [Product.name][google.cloud.retail.v2.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.v2.Product] is created. If set to
         false, a NOT_FOUND error is returned if the
         [Product][google.cloud.retail.v2.Product] is not found.
         
        bool allow_missing = 4;
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final SetInventoryRequest.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<SetInventoryRequest.Builder>
      • mergeUnknownFields

        public final SetInventoryRequest.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<SetInventoryRequest.Builder>