001
002package com.commercetools.api.models.order;
003
004import java.time.*;
005import java.util.*;
006
007import com.fasterxml.jackson.annotation.JsonCreator;
008import com.fasterxml.jackson.annotation.JsonProperty;
009import com.fasterxml.jackson.databind.annotation.*;
010
011import io.vrap.rmf.base.client.ModelBase;
012import io.vrap.rmf.base.client.utils.Generated;
013
014import org.apache.commons.lang3.builder.EqualsBuilder;
015import org.apache.commons.lang3.builder.HashCodeBuilder;
016
017/**
018 * OrderAddParcelToDeliveryAction
019 */
020@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
021public class OrderAddParcelToDeliveryActionImpl implements OrderAddParcelToDeliveryAction, ModelBase {
022
023    private String action;
024
025    private String deliveryId;
026
027    private String deliveryKey;
028
029    private String parcelKey;
030
031    private com.commercetools.api.models.order.ParcelMeasurements measurements;
032
033    private com.commercetools.api.models.order.TrackingData trackingData;
034
035    private java.util.List<com.commercetools.api.models.order.DeliveryItem> items;
036
037    /**
038     * create instance with all properties
039     */
040    @JsonCreator
041    OrderAddParcelToDeliveryActionImpl(@JsonProperty("deliveryId") final String deliveryId,
042            @JsonProperty("deliveryKey") final String deliveryKey, @JsonProperty("parcelKey") final String parcelKey,
043            @JsonProperty("measurements") final com.commercetools.api.models.order.ParcelMeasurements measurements,
044            @JsonProperty("trackingData") final com.commercetools.api.models.order.TrackingData trackingData,
045            @JsonProperty("items") final java.util.List<com.commercetools.api.models.order.DeliveryItem> items) {
046        this.deliveryId = deliveryId;
047        this.deliveryKey = deliveryKey;
048        this.parcelKey = parcelKey;
049        this.measurements = measurements;
050        this.trackingData = trackingData;
051        this.items = items;
052        this.action = ADD_PARCEL_TO_DELIVERY;
053    }
054
055    /**
056     * create empty instance
057     */
058    public OrderAddParcelToDeliveryActionImpl() {
059        this.action = ADD_PARCEL_TO_DELIVERY;
060    }
061
062    /**
063     *
064     */
065
066    public String getAction() {
067        return this.action;
068    }
069
070    /**
071     *  <p>Either <code>deliveryId</code> or <code>deliveryKey</code> is required for this update action.</p>
072     */
073
074    public String getDeliveryId() {
075        return this.deliveryId;
076    }
077
078    /**
079     *  <p>Either <code>deliveryId</code> or <code>deliveryKey</code> is required for this update action.</p>
080     */
081
082    public String getDeliveryKey() {
083        return this.deliveryKey;
084    }
085
086    /**
087     *
088     */
089
090    public String getParcelKey() {
091        return this.parcelKey;
092    }
093
094    /**
095     *
096     */
097
098    public com.commercetools.api.models.order.ParcelMeasurements getMeasurements() {
099        return this.measurements;
100    }
101
102    /**
103     *
104     */
105
106    public com.commercetools.api.models.order.TrackingData getTrackingData() {
107        return this.trackingData;
108    }
109
110    /**
111     *
112     */
113
114    public java.util.List<com.commercetools.api.models.order.DeliveryItem> getItems() {
115        return this.items;
116    }
117
118    public void setDeliveryId(final String deliveryId) {
119        this.deliveryId = deliveryId;
120    }
121
122    public void setDeliveryKey(final String deliveryKey) {
123        this.deliveryKey = deliveryKey;
124    }
125
126    public void setParcelKey(final String parcelKey) {
127        this.parcelKey = parcelKey;
128    }
129
130    public void setMeasurements(final com.commercetools.api.models.order.ParcelMeasurements measurements) {
131        this.measurements = measurements;
132    }
133
134    public void setTrackingData(final com.commercetools.api.models.order.TrackingData trackingData) {
135        this.trackingData = trackingData;
136    }
137
138    public void setItems(final com.commercetools.api.models.order.DeliveryItem... items) {
139        this.items = new ArrayList<>(Arrays.asList(items));
140    }
141
142    public void setItems(final java.util.List<com.commercetools.api.models.order.DeliveryItem> items) {
143        this.items = items;
144    }
145
146    @Override
147    public boolean equals(Object o) {
148        if (this == o)
149            return true;
150
151        if (o == null || getClass() != o.getClass())
152            return false;
153
154        OrderAddParcelToDeliveryActionImpl that = (OrderAddParcelToDeliveryActionImpl) o;
155
156        return new EqualsBuilder().append(action, that.action)
157                .append(deliveryId, that.deliveryId)
158                .append(deliveryKey, that.deliveryKey)
159                .append(parcelKey, that.parcelKey)
160                .append(measurements, that.measurements)
161                .append(trackingData, that.trackingData)
162                .append(items, that.items)
163                .isEquals();
164    }
165
166    @Override
167    public int hashCode() {
168        return new HashCodeBuilder(17, 37).append(action)
169                .append(deliveryId)
170                .append(deliveryKey)
171                .append(parcelKey)
172                .append(measurements)
173                .append(trackingData)
174                .append(items)
175                .toHashCode();
176    }
177
178}