001 002package com.commercetools.api.models.message; 003 004import java.time.*; 005import java.util.*; 006import java.util.function.Function; 007 008import javax.annotation.Nullable; 009import javax.validation.constraints.NotNull; 010 011import com.commercetools.api.models.associate_role.Permission; 012import com.fasterxml.jackson.annotation.*; 013import com.fasterxml.jackson.databind.annotation.*; 014 015import io.vrap.rmf.base.client.utils.Generated; 016 017/** 018 * <p>Generated after a successful Remove Permissions update action.</p> 019 * 020 * <hr> 021 * Example to create an instance using the builder pattern 022 * <div class=code-example> 023 * <pre><code class='java'> 024 * AssociateRolePermissionRemovedMessage associateRolePermissionRemovedMessage = AssociateRolePermissionRemovedMessage.builder() 025 * .id("{id}") 026 * .version(0.3) 027 * .createdAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z")) 028 * .lastModifiedAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z")) 029 * .sequenceNumber(0.3) 030 * .resource(resourceBuilder -> resourceBuilder) 031 * .resourceVersion(0.3) 032 * .permission(Permission.ADD_CHILD_UNITS) 033 * .build() 034 * </code></pre> 035 * </div> 036 */ 037@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 038@JsonDeserialize(as = AssociateRolePermissionRemovedMessageImpl.class) 039public interface AssociateRolePermissionRemovedMessage extends Message { 040 041 /** 042 * discriminator value for AssociateRolePermissionRemovedMessage 043 */ 044 String ASSOCIATE_ROLE_PERMISSION_REMOVED = "AssociateRolePermissionRemoved"; 045 046 /** 047 * <p>The Permission that was removed from the AssociateRole.</p> 048 * @return permission 049 */ 050 @NotNull 051 @JsonProperty("permission") 052 public Permission getPermission(); 053 054 /** 055 * <p>The Permission that was removed from the AssociateRole.</p> 056 * @param permission value to be set 057 */ 058 059 public void setPermission(final Permission permission); 060 061 /** 062 * factory method 063 * @return instance of AssociateRolePermissionRemovedMessage 064 */ 065 public static AssociateRolePermissionRemovedMessage of() { 066 return new AssociateRolePermissionRemovedMessageImpl(); 067 } 068 069 /** 070 * factory method to create a shallow copy AssociateRolePermissionRemovedMessage 071 * @param template instance to be copied 072 * @return copy instance 073 */ 074 public static AssociateRolePermissionRemovedMessage of(final AssociateRolePermissionRemovedMessage template) { 075 AssociateRolePermissionRemovedMessageImpl instance = new AssociateRolePermissionRemovedMessageImpl(); 076 instance.setId(template.getId()); 077 instance.setVersion(template.getVersion()); 078 instance.setCreatedAt(template.getCreatedAt()); 079 instance.setLastModifiedAt(template.getLastModifiedAt()); 080 instance.setLastModifiedBy(template.getLastModifiedBy()); 081 instance.setCreatedBy(template.getCreatedBy()); 082 instance.setSequenceNumber(template.getSequenceNumber()); 083 instance.setResource(template.getResource()); 084 instance.setResourceVersion(template.getResourceVersion()); 085 instance.setResourceUserProvidedIdentifiers(template.getResourceUserProvidedIdentifiers()); 086 instance.setPermission(template.getPermission()); 087 return instance; 088 } 089 090 /** 091 * factory method to create a deep copy of AssociateRolePermissionRemovedMessage 092 * @param template instance to be copied 093 * @return copy instance 094 */ 095 @Nullable 096 public static AssociateRolePermissionRemovedMessage deepCopy( 097 @Nullable final AssociateRolePermissionRemovedMessage template) { 098 if (template == null) { 099 return null; 100 } 101 AssociateRolePermissionRemovedMessageImpl instance = new AssociateRolePermissionRemovedMessageImpl(); 102 instance.setId(template.getId()); 103 instance.setVersion(template.getVersion()); 104 instance.setCreatedAt(template.getCreatedAt()); 105 instance.setLastModifiedAt(template.getLastModifiedAt()); 106 instance.setLastModifiedBy( 107 com.commercetools.api.models.common.LastModifiedBy.deepCopy(template.getLastModifiedBy())); 108 instance.setCreatedBy(com.commercetools.api.models.common.CreatedBy.deepCopy(template.getCreatedBy())); 109 instance.setSequenceNumber(template.getSequenceNumber()); 110 instance.setResource(com.commercetools.api.models.common.Reference.deepCopy(template.getResource())); 111 instance.setResourceVersion(template.getResourceVersion()); 112 instance.setResourceUserProvidedIdentifiers(com.commercetools.api.models.message.UserProvidedIdentifiers 113 .deepCopy(template.getResourceUserProvidedIdentifiers())); 114 instance.setPermission(template.getPermission()); 115 return instance; 116 } 117 118 /** 119 * builder factory method for AssociateRolePermissionRemovedMessage 120 * @return builder 121 */ 122 public static AssociateRolePermissionRemovedMessageBuilder builder() { 123 return AssociateRolePermissionRemovedMessageBuilder.of(); 124 } 125 126 /** 127 * create builder for AssociateRolePermissionRemovedMessage instance 128 * @param template instance with prefilled values for the builder 129 * @return builder 130 */ 131 public static AssociateRolePermissionRemovedMessageBuilder builder( 132 final AssociateRolePermissionRemovedMessage template) { 133 return AssociateRolePermissionRemovedMessageBuilder.of(template); 134 } 135 136 /** 137 * accessor map function 138 * @param <T> mapped type 139 * @param helper function to map the object 140 * @return mapped value 141 */ 142 default <T> T withAssociateRolePermissionRemovedMessage(Function<AssociateRolePermissionRemovedMessage, T> helper) { 143 return helper.apply(this); 144 } 145 146 /** 147 * gives a TypeReference for usage with Jackson DataBind 148 * @return TypeReference 149 */ 150 public static com.fasterxml.jackson.core.type.TypeReference<AssociateRolePermissionRemovedMessage> typeReference() { 151 return new com.fasterxml.jackson.core.type.TypeReference<AssociateRolePermissionRemovedMessage>() { 152 @Override 153 public String toString() { 154 return "TypeReference<AssociateRolePermissionRemovedMessage>"; 155 } 156 }; 157 } 158}