001 002package com.commercetools.api.models.associate_role; 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 * AssociateRoleSetPermissionsActionBuilder 013 * <hr> 014 * Example to create an instance using the builder pattern 015 * <div class=code-example> 016 * <pre><code class='java'> 017 * AssociateRoleSetPermissionsAction associateRoleSetPermissionsAction = AssociateRoleSetPermissionsAction.builder() 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 AssociateRoleSetPermissionsActionBuilder implements Builder<AssociateRoleSetPermissionsAction> { 024 025 @Nullable 026 private java.util.List<com.commercetools.api.models.associate_role.Permission> permissions; 027 028 /** 029 * <p>Overrides the current list of Permissions for the AssociateRole.</p> 030 * @param permissions value to be set 031 * @return Builder 032 */ 033 034 public AssociateRoleSetPermissionsActionBuilder permissions( 035 @Nullable final com.commercetools.api.models.associate_role.Permission... permissions) { 036 this.permissions = new ArrayList<>(Arrays.asList(permissions)); 037 return this; 038 } 039 040 /** 041 * <p>Overrides the current list of Permissions for the AssociateRole.</p> 042 * @param permissions value to be set 043 * @return Builder 044 */ 045 046 public AssociateRoleSetPermissionsActionBuilder permissions( 047 @Nullable final java.util.List<com.commercetools.api.models.associate_role.Permission> permissions) { 048 this.permissions = permissions; 049 return this; 050 } 051 052 /** 053 * <p>Overrides the current list of Permissions for the AssociateRole.</p> 054 * @param permissions value to be set 055 * @return Builder 056 */ 057 058 public AssociateRoleSetPermissionsActionBuilder plusPermissions( 059 @Nullable final com.commercetools.api.models.associate_role.Permission... permissions) { 060 if (this.permissions == null) { 061 this.permissions = new ArrayList<>(); 062 } 063 this.permissions.addAll(Arrays.asList(permissions)); 064 return this; 065 } 066 067 /** 068 * <p>Overrides the current list of Permissions for the AssociateRole.</p> 069 * @return permissions 070 */ 071 072 @Nullable 073 public java.util.List<com.commercetools.api.models.associate_role.Permission> getPermissions() { 074 return this.permissions; 075 } 076 077 /** 078 * builds AssociateRoleSetPermissionsAction with checking for non-null required values 079 * @return AssociateRoleSetPermissionsAction 080 */ 081 public AssociateRoleSetPermissionsAction build() { 082 return new AssociateRoleSetPermissionsActionImpl(permissions); 083 } 084 085 /** 086 * builds AssociateRoleSetPermissionsAction without checking for non-null required values 087 * @return AssociateRoleSetPermissionsAction 088 */ 089 public AssociateRoleSetPermissionsAction buildUnchecked() { 090 return new AssociateRoleSetPermissionsActionImpl(permissions); 091 } 092 093 /** 094 * factory method for an instance of AssociateRoleSetPermissionsActionBuilder 095 * @return builder 096 */ 097 public static AssociateRoleSetPermissionsActionBuilder of() { 098 return new AssociateRoleSetPermissionsActionBuilder(); 099 } 100 101 /** 102 * create builder for AssociateRoleSetPermissionsAction instance 103 * @param template instance with prefilled values for the builder 104 * @return builder 105 */ 106 public static AssociateRoleSetPermissionsActionBuilder of(final AssociateRoleSetPermissionsAction template) { 107 AssociateRoleSetPermissionsActionBuilder builder = new AssociateRoleSetPermissionsActionBuilder(); 108 builder.permissions = template.getPermissions(); 109 return builder; 110 } 111 112}