001
002package com.commercetools.history.models.common;
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 * ItemShippingDetails
019 */
020@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
021public class ItemShippingDetailsImpl implements ItemShippingDetails, ModelBase {
022
023    private java.util.List<com.commercetools.history.models.common.ItemShippingTarget> targets;
024
025    private Boolean valid;
026
027    /**
028     * create instance with all properties
029     */
030    @JsonCreator
031    ItemShippingDetailsImpl(
032            @JsonProperty("targets") final java.util.List<com.commercetools.history.models.common.ItemShippingTarget> targets,
033            @JsonProperty("valid") final Boolean valid) {
034        this.targets = targets;
035        this.valid = valid;
036    }
037
038    /**
039     * create empty instance
040     */
041    public ItemShippingDetailsImpl() {
042    }
043
044    /**
045     *
046     */
047
048    public java.util.List<com.commercetools.history.models.common.ItemShippingTarget> getTargets() {
049        return this.targets;
050    }
051
052    /**
053     *  <p>true if the quantity of the (custom) line item is equal to the sum of the sub-quantities in <code>targets</code>, <code>false</code> otherwise. A cart cannot be ordered when the value is <code>false</code>. The error InvalidItemShippingDetails will be triggered.</p>
054     */
055
056    public Boolean getValid() {
057        return this.valid;
058    }
059
060    public void setTargets(final com.commercetools.history.models.common.ItemShippingTarget... targets) {
061        this.targets = new ArrayList<>(Arrays.asList(targets));
062    }
063
064    public void setTargets(final java.util.List<com.commercetools.history.models.common.ItemShippingTarget> targets) {
065        this.targets = targets;
066    }
067
068    public void setValid(final Boolean valid) {
069        this.valid = valid;
070    }
071
072    @Override
073    public boolean equals(Object o) {
074        if (this == o)
075            return true;
076
077        if (o == null || getClass() != o.getClass())
078            return false;
079
080        ItemShippingDetailsImpl that = (ItemShippingDetailsImpl) o;
081
082        return new EqualsBuilder().append(targets, that.targets)
083                .append(valid, that.valid)
084                .append(targets, that.targets)
085                .append(valid, that.valid)
086                .isEquals();
087    }
088
089    @Override
090    public int hashCode() {
091        return new HashCodeBuilder(17, 37).append(targets).append(valid).toHashCode();
092    }
093
094}