Class SetInventoryRequest

  • All Implemented Interfaces:
    SetInventoryRequestOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class SetInventoryRequest
    extends com.google.protobuf.GeneratedMessageV3
    implements SetInventoryRequestOrBuilder
     Request message for
     [ProductService.SetInventory][google.cloud.retail.v2alpha.ProductService.SetInventory]
     method.
     
    Protobuf type google.cloud.retail.v2alpha.SetInventoryRequest
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  SetInventoryRequest.Builder
      Request message for [ProductService.SetInventory][google.cloud.retail.v2alpha.ProductService.SetInventory] method.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ALLOW_MISSING_FIELD_NUMBER  
      static int INVENTORY_FIELD_NUMBER  
      static int SET_MASK_FIELD_NUMBER  
      static int SET_TIME_FIELD_NUMBER  
      • Fields inherited from class com.google.protobuf.GeneratedMessageV3

        alwaysUseFieldBuilders, unknownFields
      • Fields inherited from class com.google.protobuf.AbstractMessage

        memoizedSize
      • Fields inherited from class com.google.protobuf.AbstractMessageLite

        memoizedHashCode
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • 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
      • 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.
      • 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.
      • 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.
      • 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.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static SetInventoryRequest parseFrom​(ByteBuffer data)
                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SetInventoryRequest parseFrom​(ByteBuffer data,
                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SetInventoryRequest parseFrom​(com.google.protobuf.ByteString data)
                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SetInventoryRequest parseFrom​(com.google.protobuf.ByteString data,
                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SetInventoryRequest parseFrom​(byte[] data)
                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SetInventoryRequest parseFrom​(byte[] data,
                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SetInventoryRequest parseFrom​(com.google.protobuf.CodedInputStream input,
                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                             throws IOException
        Throws:
        IOException
      • newBuilderForType

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

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

        protected SetInventoryRequest.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<SetInventoryRequest> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

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