001
002package com.commercetools.api.models.product_type;
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 * ProductTypeChangeAttributeOrderByNameAction
019 */
020@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
021public class ProductTypeChangeAttributeOrderByNameActionImpl
022        implements ProductTypeChangeAttributeOrderByNameAction, ModelBase {
023
024    private String action;
025
026    private java.util.List<String> attributeNames;
027
028    /**
029     * create instance with all properties
030     */
031    @JsonCreator
032    ProductTypeChangeAttributeOrderByNameActionImpl(
033            @JsonProperty("attributeNames") final java.util.List<String> attributeNames) {
034        this.attributeNames = attributeNames;
035        this.action = CHANGE_ATTRIBUTE_ORDER_BY_NAME;
036    }
037
038    /**
039     * create empty instance
040     */
041    public ProductTypeChangeAttributeOrderByNameActionImpl() {
042        this.action = CHANGE_ATTRIBUTE_ORDER_BY_NAME;
043    }
044
045    /**
046     *
047     */
048
049    public String getAction() {
050        return this.action;
051    }
052
053    /**
054     *  <p>Names of Attributes to reorder. This array must include all Attributes currently present on a ProductType in a different order.</p>
055     */
056
057    public java.util.List<String> getAttributeNames() {
058        return this.attributeNames;
059    }
060
061    public void setAttributeNames(final String... attributeNames) {
062        this.attributeNames = new ArrayList<>(Arrays.asList(attributeNames));
063    }
064
065    public void setAttributeNames(final java.util.List<String> attributeNames) {
066        this.attributeNames = attributeNames;
067    }
068
069    @Override
070    public boolean equals(Object o) {
071        if (this == o)
072            return true;
073
074        if (o == null || getClass() != o.getClass())
075            return false;
076
077        ProductTypeChangeAttributeOrderByNameActionImpl that = (ProductTypeChangeAttributeOrderByNameActionImpl) o;
078
079        return new EqualsBuilder().append(action, that.action).append(attributeNames, that.attributeNames).isEquals();
080    }
081
082    @Override
083    public int hashCode() {
084        return new HashCodeBuilder(17, 37).append(action).append(attributeNames).toHashCode();
085    }
086
087}