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