001 002package com.commercetools.api.models.message; 003 004import java.util.*; 005import java.util.function.Function; 006 007import javax.annotation.Nullable; 008 009import io.vrap.rmf.base.client.Builder; 010import io.vrap.rmf.base.client.utils.Generated; 011 012/** 013 * OrderLineItemDistributionChannelSetMessagePayloadBuilder 014 * <hr> 015 * Example to create an instance using the builder pattern 016 * <div class=code-example> 017 * <pre><code class='java'> 018 * OrderLineItemDistributionChannelSetMessagePayload orderLineItemDistributionChannelSetMessagePayload = OrderLineItemDistributionChannelSetMessagePayload.builder() 019 * .lineItemId("{lineItemId}") 020 * .build() 021 * </code></pre> 022 * </div> 023 */ 024@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 025public class OrderLineItemDistributionChannelSetMessagePayloadBuilder 026 implements Builder<OrderLineItemDistributionChannelSetMessagePayload> { 027 028 private String lineItemId; 029 030 @Nullable 031 private com.commercetools.api.models.channel.ChannelReference distributionChannel; 032 033 /** 034 * <p>Unique identifier of the Line Item.</p> 035 * @param lineItemId value to be set 036 * @return Builder 037 */ 038 039 public OrderLineItemDistributionChannelSetMessagePayloadBuilder lineItemId(final String lineItemId) { 040 this.lineItemId = lineItemId; 041 return this; 042 } 043 044 /** 045 * <p>Distribution Channel that was set.</p> 046 * @param builder function to build the distributionChannel value 047 * @return Builder 048 */ 049 050 public OrderLineItemDistributionChannelSetMessagePayloadBuilder distributionChannel( 051 Function<com.commercetools.api.models.channel.ChannelReferenceBuilder, com.commercetools.api.models.channel.ChannelReferenceBuilder> builder) { 052 this.distributionChannel = builder.apply(com.commercetools.api.models.channel.ChannelReferenceBuilder.of()) 053 .build(); 054 return this; 055 } 056 057 /** 058 * <p>Distribution Channel that was set.</p> 059 * @param builder function to build the distributionChannel value 060 * @return Builder 061 */ 062 063 public OrderLineItemDistributionChannelSetMessagePayloadBuilder withDistributionChannel( 064 Function<com.commercetools.api.models.channel.ChannelReferenceBuilder, com.commercetools.api.models.channel.ChannelReference> builder) { 065 this.distributionChannel = builder.apply(com.commercetools.api.models.channel.ChannelReferenceBuilder.of()); 066 return this; 067 } 068 069 /** 070 * <p>Distribution Channel that was set.</p> 071 * @param distributionChannel value to be set 072 * @return Builder 073 */ 074 075 public OrderLineItemDistributionChannelSetMessagePayloadBuilder distributionChannel( 076 @Nullable final com.commercetools.api.models.channel.ChannelReference distributionChannel) { 077 this.distributionChannel = distributionChannel; 078 return this; 079 } 080 081 /** 082 * <p>Unique identifier of the Line Item.</p> 083 * @return lineItemId 084 */ 085 086 public String getLineItemId() { 087 return this.lineItemId; 088 } 089 090 /** 091 * <p>Distribution Channel that was set.</p> 092 * @return distributionChannel 093 */ 094 095 @Nullable 096 public com.commercetools.api.models.channel.ChannelReference getDistributionChannel() { 097 return this.distributionChannel; 098 } 099 100 /** 101 * builds OrderLineItemDistributionChannelSetMessagePayload with checking for non-null required values 102 * @return OrderLineItemDistributionChannelSetMessagePayload 103 */ 104 public OrderLineItemDistributionChannelSetMessagePayload build() { 105 Objects.requireNonNull(lineItemId, 106 OrderLineItemDistributionChannelSetMessagePayload.class + ": lineItemId is missing"); 107 return new OrderLineItemDistributionChannelSetMessagePayloadImpl(lineItemId, distributionChannel); 108 } 109 110 /** 111 * builds OrderLineItemDistributionChannelSetMessagePayload without checking for non-null required values 112 * @return OrderLineItemDistributionChannelSetMessagePayload 113 */ 114 public OrderLineItemDistributionChannelSetMessagePayload buildUnchecked() { 115 return new OrderLineItemDistributionChannelSetMessagePayloadImpl(lineItemId, distributionChannel); 116 } 117 118 /** 119 * factory method for an instance of OrderLineItemDistributionChannelSetMessagePayloadBuilder 120 * @return builder 121 */ 122 public static OrderLineItemDistributionChannelSetMessagePayloadBuilder of() { 123 return new OrderLineItemDistributionChannelSetMessagePayloadBuilder(); 124 } 125 126 /** 127 * create builder for OrderLineItemDistributionChannelSetMessagePayload instance 128 * @param template instance with prefilled values for the builder 129 * @return builder 130 */ 131 public static OrderLineItemDistributionChannelSetMessagePayloadBuilder of( 132 final OrderLineItemDistributionChannelSetMessagePayload template) { 133 OrderLineItemDistributionChannelSetMessagePayloadBuilder builder = new OrderLineItemDistributionChannelSetMessagePayloadBuilder(); 134 builder.lineItemId = template.getLineItemId(); 135 builder.distributionChannel = template.getDistributionChannel(); 136 return builder; 137 } 138 139}