001 002package com.commercetools.api.models.message; 003 004import java.time.*; 005import java.time.ZonedDateTime; 006import java.util.*; 007import java.util.function.Function; 008 009import javax.annotation.Nullable; 010 011import com.fasterxml.jackson.annotation.*; 012import com.fasterxml.jackson.databind.annotation.*; 013 014import io.vrap.rmf.base.client.utils.Generated; 015 016/** 017 * <p>Generated after a successful Set Valid From update action.</p> 018 * 019 * <hr> 020 * Example to create an instance using the builder pattern 021 * <div class=code-example> 022 * <pre><code class='java'> 023 * StandalonePriceValidFromSetMessagePayload standalonePriceValidFromSetMessagePayload = StandalonePriceValidFromSetMessagePayload.builder() 024 * .build() 025 * </code></pre> 026 * </div> 027 */ 028@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 029@JsonDeserialize(as = StandalonePriceValidFromSetMessagePayloadImpl.class) 030public interface StandalonePriceValidFromSetMessagePayload extends MessagePayload { 031 032 /** 033 * discriminator value for StandalonePriceValidFromSetMessagePayload 034 */ 035 String STANDALONE_PRICE_VALID_FROM_SET = "StandalonePriceValidFromSet"; 036 037 /** 038 * <p>Value of StandalonePrice <code>validFrom</code> after the Set Valid From update action.</p> 039 * @return validFrom 040 */ 041 042 @JsonProperty("validFrom") 043 public ZonedDateTime getValidFrom(); 044 045 /** 046 * <p>Value of StandalonePrice <code>validFrom</code> before the Set Valid From update action.</p> 047 * @return previousValidFrom 048 */ 049 050 @JsonProperty("previousValidFrom") 051 public ZonedDateTime getPreviousValidFrom(); 052 053 /** 054 * <p>Value of StandalonePrice <code>validFrom</code> after the Set Valid From update action.</p> 055 * @param validFrom value to be set 056 */ 057 058 public void setValidFrom(final ZonedDateTime validFrom); 059 060 /** 061 * <p>Value of StandalonePrice <code>validFrom</code> before the Set Valid From update action.</p> 062 * @param previousValidFrom value to be set 063 */ 064 065 public void setPreviousValidFrom(final ZonedDateTime previousValidFrom); 066 067 /** 068 * factory method 069 * @return instance of StandalonePriceValidFromSetMessagePayload 070 */ 071 public static StandalonePriceValidFromSetMessagePayload of() { 072 return new StandalonePriceValidFromSetMessagePayloadImpl(); 073 } 074 075 /** 076 * factory method to create a shallow copy StandalonePriceValidFromSetMessagePayload 077 * @param template instance to be copied 078 * @return copy instance 079 */ 080 public static StandalonePriceValidFromSetMessagePayload of( 081 final StandalonePriceValidFromSetMessagePayload template) { 082 StandalonePriceValidFromSetMessagePayloadImpl instance = new StandalonePriceValidFromSetMessagePayloadImpl(); 083 instance.setValidFrom(template.getValidFrom()); 084 instance.setPreviousValidFrom(template.getPreviousValidFrom()); 085 return instance; 086 } 087 088 /** 089 * factory method to create a deep copy of StandalonePriceValidFromSetMessagePayload 090 * @param template instance to be copied 091 * @return copy instance 092 */ 093 @Nullable 094 public static StandalonePriceValidFromSetMessagePayload deepCopy( 095 @Nullable final StandalonePriceValidFromSetMessagePayload template) { 096 if (template == null) { 097 return null; 098 } 099 StandalonePriceValidFromSetMessagePayloadImpl instance = new StandalonePriceValidFromSetMessagePayloadImpl(); 100 instance.setValidFrom(template.getValidFrom()); 101 instance.setPreviousValidFrom(template.getPreviousValidFrom()); 102 return instance; 103 } 104 105 /** 106 * builder factory method for StandalonePriceValidFromSetMessagePayload 107 * @return builder 108 */ 109 public static StandalonePriceValidFromSetMessagePayloadBuilder builder() { 110 return StandalonePriceValidFromSetMessagePayloadBuilder.of(); 111 } 112 113 /** 114 * create builder for StandalonePriceValidFromSetMessagePayload instance 115 * @param template instance with prefilled values for the builder 116 * @return builder 117 */ 118 public static StandalonePriceValidFromSetMessagePayloadBuilder builder( 119 final StandalonePriceValidFromSetMessagePayload template) { 120 return StandalonePriceValidFromSetMessagePayloadBuilder.of(template); 121 } 122 123 /** 124 * accessor map function 125 * @param <T> mapped type 126 * @param helper function to map the object 127 * @return mapped value 128 */ 129 default <T> T withStandalonePriceValidFromSetMessagePayload( 130 Function<StandalonePriceValidFromSetMessagePayload, T> helper) { 131 return helper.apply(this); 132 } 133 134 /** 135 * gives a TypeReference for usage with Jackson DataBind 136 * @return TypeReference 137 */ 138 public static com.fasterxml.jackson.core.type.TypeReference<StandalonePriceValidFromSetMessagePayload> typeReference() { 139 return new com.fasterxml.jackson.core.type.TypeReference<StandalonePriceValidFromSetMessagePayload>() { 140 @Override 141 public String toString() { 142 return "TypeReference<StandalonePriceValidFromSetMessagePayload>"; 143 } 144 }; 145 } 146}