001 002package com.commercetools.api.models.me; 003 004import java.util.*; 005import java.util.function.Function; 006 007import io.vrap.rmf.base.client.Builder; 008import io.vrap.rmf.base.client.utils.Generated; 009 010/** 011 * MyBusinessUnitChangeParentUnitActionBuilder 012 * <hr> 013 * Example to create an instance using the builder pattern 014 * <div class=code-example> 015 * <pre><code class='java'> 016 * MyBusinessUnitChangeParentUnitAction myBusinessUnitChangeParentUnitAction = MyBusinessUnitChangeParentUnitAction.builder() 017 * .parentUnit(parentUnitBuilder -> parentUnitBuilder) 018 * .build() 019 * </code></pre> 020 * </div> 021 */ 022@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 023public class MyBusinessUnitChangeParentUnitActionBuilder implements Builder<MyBusinessUnitChangeParentUnitAction> { 024 025 private com.commercetools.api.models.business_unit.BusinessUnitResourceIdentifier parentUnit; 026 027 /** 028 * <p>New parent unit of the Business Unit. The new parent unit must have the same top-level unit as the old parent unit.</p> 029 * @param builder function to build the parentUnit value 030 * @return Builder 031 */ 032 033 public MyBusinessUnitChangeParentUnitActionBuilder parentUnit( 034 Function<com.commercetools.api.models.business_unit.BusinessUnitResourceIdentifierBuilder, com.commercetools.api.models.business_unit.BusinessUnitResourceIdentifierBuilder> builder) { 035 this.parentUnit = builder 036 .apply(com.commercetools.api.models.business_unit.BusinessUnitResourceIdentifierBuilder.of()) 037 .build(); 038 return this; 039 } 040 041 /** 042 * <p>New parent unit of the Business Unit. The new parent unit must have the same top-level unit as the old parent unit.</p> 043 * @param builder function to build the parentUnit value 044 * @return Builder 045 */ 046 047 public MyBusinessUnitChangeParentUnitActionBuilder withParentUnit( 048 Function<com.commercetools.api.models.business_unit.BusinessUnitResourceIdentifierBuilder, com.commercetools.api.models.business_unit.BusinessUnitResourceIdentifier> builder) { 049 this.parentUnit = builder 050 .apply(com.commercetools.api.models.business_unit.BusinessUnitResourceIdentifierBuilder.of()); 051 return this; 052 } 053 054 /** 055 * <p>New parent unit of the Business Unit. The new parent unit must have the same top-level unit as the old parent unit.</p> 056 * @param parentUnit value to be set 057 * @return Builder 058 */ 059 060 public MyBusinessUnitChangeParentUnitActionBuilder parentUnit( 061 final com.commercetools.api.models.business_unit.BusinessUnitResourceIdentifier parentUnit) { 062 this.parentUnit = parentUnit; 063 return this; 064 } 065 066 /** 067 * <p>New parent unit of the Business Unit. The new parent unit must have the same top-level unit as the old parent unit.</p> 068 * @return parentUnit 069 */ 070 071 public com.commercetools.api.models.business_unit.BusinessUnitResourceIdentifier getParentUnit() { 072 return this.parentUnit; 073 } 074 075 /** 076 * builds MyBusinessUnitChangeParentUnitAction with checking for non-null required values 077 * @return MyBusinessUnitChangeParentUnitAction 078 */ 079 public MyBusinessUnitChangeParentUnitAction build() { 080 Objects.requireNonNull(parentUnit, MyBusinessUnitChangeParentUnitAction.class + ": parentUnit is missing"); 081 return new MyBusinessUnitChangeParentUnitActionImpl(parentUnit); 082 } 083 084 /** 085 * builds MyBusinessUnitChangeParentUnitAction without checking for non-null required values 086 * @return MyBusinessUnitChangeParentUnitAction 087 */ 088 public MyBusinessUnitChangeParentUnitAction buildUnchecked() { 089 return new MyBusinessUnitChangeParentUnitActionImpl(parentUnit); 090 } 091 092 /** 093 * factory method for an instance of MyBusinessUnitChangeParentUnitActionBuilder 094 * @return builder 095 */ 096 public static MyBusinessUnitChangeParentUnitActionBuilder of() { 097 return new MyBusinessUnitChangeParentUnitActionBuilder(); 098 } 099 100 /** 101 * create builder for MyBusinessUnitChangeParentUnitAction instance 102 * @param template instance with prefilled values for the builder 103 * @return builder 104 */ 105 public static MyBusinessUnitChangeParentUnitActionBuilder of(final MyBusinessUnitChangeParentUnitAction template) { 106 MyBusinessUnitChangeParentUnitActionBuilder builder = new MyBusinessUnitChangeParentUnitActionBuilder(); 107 builder.parentUnit = template.getParentUnit(); 108 return builder; 109 } 110 111}