001 002package com.commercetools.api.models.associate_role; 003 004import java.util.*; 005 006import io.vrap.rmf.base.client.Builder; 007import io.vrap.rmf.base.client.utils.Generated; 008 009/** 010 * AssociateRoleRemovePermissionActionBuilder 011 * <hr> 012 * Example to create an instance using the builder pattern 013 * <div class=code-example> 014 * <pre><code class='java'> 015 * AssociateRoleRemovePermissionAction associateRoleRemovePermissionAction = AssociateRoleRemovePermissionAction.builder() 016 * .permission(Permission.ADD_CHILD_UNITS) 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 AssociateRoleRemovePermissionActionBuilder implements Builder<AssociateRoleRemovePermissionAction> { 023 024 private com.commercetools.api.models.associate_role.Permission permission; 025 026 /** 027 * <p>Permission to be removed from the AssociateRole.</p> 028 * @param permission value to be set 029 * @return Builder 030 */ 031 032 public AssociateRoleRemovePermissionActionBuilder permission( 033 final com.commercetools.api.models.associate_role.Permission permission) { 034 this.permission = permission; 035 return this; 036 } 037 038 /** 039 * <p>Permission to be removed from the AssociateRole.</p> 040 * @return permission 041 */ 042 043 public com.commercetools.api.models.associate_role.Permission getPermission() { 044 return this.permission; 045 } 046 047 /** 048 * builds AssociateRoleRemovePermissionAction with checking for non-null required values 049 * @return AssociateRoleRemovePermissionAction 050 */ 051 public AssociateRoleRemovePermissionAction build() { 052 Objects.requireNonNull(permission, AssociateRoleRemovePermissionAction.class + ": permission is missing"); 053 return new AssociateRoleRemovePermissionActionImpl(permission); 054 } 055 056 /** 057 * builds AssociateRoleRemovePermissionAction without checking for non-null required values 058 * @return AssociateRoleRemovePermissionAction 059 */ 060 public AssociateRoleRemovePermissionAction buildUnchecked() { 061 return new AssociateRoleRemovePermissionActionImpl(permission); 062 } 063 064 /** 065 * factory method for an instance of AssociateRoleRemovePermissionActionBuilder 066 * @return builder 067 */ 068 public static AssociateRoleRemovePermissionActionBuilder of() { 069 return new AssociateRoleRemovePermissionActionBuilder(); 070 } 071 072 /** 073 * create builder for AssociateRoleRemovePermissionAction instance 074 * @param template instance with prefilled values for the builder 075 * @return builder 076 */ 077 public static AssociateRoleRemovePermissionActionBuilder of(final AssociateRoleRemovePermissionAction template) { 078 AssociateRoleRemovePermissionActionBuilder builder = new AssociateRoleRemovePermissionActionBuilder(); 079 builder.permission = template.getPermission(); 080 return builder; 081 } 082 083}