001 002package com.commercetools.api.models.cart; 003 004import java.util.*; 005 006import javax.annotation.Nullable; 007 008import io.vrap.rmf.base.client.Builder; 009import io.vrap.rmf.base.client.utils.Generated; 010 011/** 012 * CartSetLineItemInventoryModeActionBuilder 013 * <hr> 014 * Example to create an instance using the builder pattern 015 * <div class=code-example> 016 * <pre><code class='java'> 017 * CartSetLineItemInventoryModeAction cartSetLineItemInventoryModeAction = CartSetLineItemInventoryModeAction.builder() 018 * .lineItemId("{lineItemId}") 019 * .build() 020 * </code></pre> 021 * </div> 022 */ 023@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 024public class CartSetLineItemInventoryModeActionBuilder implements Builder<CartSetLineItemInventoryModeAction> { 025 026 private String lineItemId; 027 028 @Nullable 029 private com.commercetools.api.models.cart.InventoryMode inventoryMode; 030 031 /** 032 * <p><code>id</code> of the LineItem to update.</p> 033 * @param lineItemId value to be set 034 * @return Builder 035 */ 036 037 public CartSetLineItemInventoryModeActionBuilder lineItemId(final String lineItemId) { 038 this.lineItemId = lineItemId; 039 return this; 040 } 041 042 /** 043 * <p>Inventory mode specific to the Line Item only, and valid for the entire <code>quantity</code> of the Line Item. Set only if the inventory mode should be different from the <code>inventoryMode</code> specified on the Cart.</p> 044 * @param inventoryMode value to be set 045 * @return Builder 046 */ 047 048 public CartSetLineItemInventoryModeActionBuilder inventoryMode( 049 @Nullable final com.commercetools.api.models.cart.InventoryMode inventoryMode) { 050 this.inventoryMode = inventoryMode; 051 return this; 052 } 053 054 /** 055 * <p><code>id</code> of the LineItem to update.</p> 056 * @return lineItemId 057 */ 058 059 public String getLineItemId() { 060 return this.lineItemId; 061 } 062 063 /** 064 * <p>Inventory mode specific to the Line Item only, and valid for the entire <code>quantity</code> of the Line Item. Set only if the inventory mode should be different from the <code>inventoryMode</code> specified on the Cart.</p> 065 * @return inventoryMode 066 */ 067 068 @Nullable 069 public com.commercetools.api.models.cart.InventoryMode getInventoryMode() { 070 return this.inventoryMode; 071 } 072 073 /** 074 * builds CartSetLineItemInventoryModeAction with checking for non-null required values 075 * @return CartSetLineItemInventoryModeAction 076 */ 077 public CartSetLineItemInventoryModeAction build() { 078 Objects.requireNonNull(lineItemId, CartSetLineItemInventoryModeAction.class + ": lineItemId is missing"); 079 return new CartSetLineItemInventoryModeActionImpl(lineItemId, inventoryMode); 080 } 081 082 /** 083 * builds CartSetLineItemInventoryModeAction without checking for non-null required values 084 * @return CartSetLineItemInventoryModeAction 085 */ 086 public CartSetLineItemInventoryModeAction buildUnchecked() { 087 return new CartSetLineItemInventoryModeActionImpl(lineItemId, inventoryMode); 088 } 089 090 /** 091 * factory method for an instance of CartSetLineItemInventoryModeActionBuilder 092 * @return builder 093 */ 094 public static CartSetLineItemInventoryModeActionBuilder of() { 095 return new CartSetLineItemInventoryModeActionBuilder(); 096 } 097 098 /** 099 * create builder for CartSetLineItemInventoryModeAction instance 100 * @param template instance with prefilled values for the builder 101 * @return builder 102 */ 103 public static CartSetLineItemInventoryModeActionBuilder of(final CartSetLineItemInventoryModeAction template) { 104 CartSetLineItemInventoryModeActionBuilder builder = new CartSetLineItemInventoryModeActionBuilder(); 105 builder.lineItemId = template.getLineItemId(); 106 builder.inventoryMode = template.getInventoryMode(); 107 return builder; 108 } 109 110}