DutyDrawBackItemSearch.java

package com.tradecloud.dto.dutydrawbackitem;

import com.tradecloud.domain.base.utils.DateRange;
import com.tradecloud.domain.dto.base.SearchBase;
import com.tradecloud.domain.export.dutydrawback.ItemNotEligibleReason;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.domain.place.Country;
import com.tradecloud.domain.supplier.OrganisationalUnitSupplier;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;

import java.io.Serializable;
import java.util.List;

public class DutyDrawBackItemSearch extends SearchBase implements Serializable {

    private Country country;
    private String reference;
    private String description;
    private OrganisationalUnitSupplier organisationalUnitSupplier;
    private OrganisationalUnit organisationalUnit;
    private DateRange grnDate = new DateRange();
    private String eligibleForDrawback;
    private List<String> references;
    private List<ItemNotEligibleReason> itemNotEligibleReasons;
    private String importShipmentRef;
    private String exportShipmentRef;
    private boolean exactMatch = false;
    private String styleReference;
    private String styleDescription;

    public String getReference() {
        return reference;
    }

    public void setReference(String reference) {
        this.reference = reference;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public OrganisationalUnitSupplier getOrganisationalUnitSupplier() {
        return organisationalUnitSupplier;
    }

    public void setOrganisationalUnitSupplier(OrganisationalUnitSupplier organisationalUnitSupplier) {
        this.organisationalUnitSupplier = organisationalUnitSupplier;
    }

    @Override
    public OrganisationalUnit getOrganisationalUnit() {
        return organisationalUnit;
    }

    public void setOrganisationalUnit(OrganisationalUnit organisationalUnit) {
        this.organisationalUnit = organisationalUnit;
    }

    public DateRange getGrnDate() {
        return grnDate;
    }

    public void setGrnDate(DateRange grnDate) {
        this.grnDate = grnDate;
    }

    public String getEligibleForDrawback() {
        return eligibleForDrawback;
    }

    public void setEligibleForDrawback(String eligibleForDrawback) {
        this.eligibleForDrawback = eligibleForDrawback;
    }

    @Override
    public String getTableName() {
        return "DutyDrawBackItem";
    }

    public List<String> getReferences() {
        return references;
    }

    public void setReferences(List<String> references) {
        this.references = references;
    }

    public List<ItemNotEligibleReason> getItemNotEligibleReasons() {
        return itemNotEligibleReasons;
    }

    public void setItemNotEligibleReasons(List<ItemNotEligibleReason> itemNotEligibleReasons) {
        this.itemNotEligibleReasons = itemNotEligibleReasons;
    }

    public String getImportShipmentRef() {
        return importShipmentRef;
    }

    public void setImportShipmentRef(String importShipmentRef) {
        this.importShipmentRef = importShipmentRef;
    }

    public String getExportShipmentRef() {
        return exportShipmentRef;
    }

    public void setExportShipmentRef(String exportShipmentRef) {
        this.exportShipmentRef = exportShipmentRef;
    }

    public boolean isExactMatch() {
        return exactMatch;
    }

    public void setExactMatch(boolean exactMatch) {
        this.exactMatch = exactMatch;
    }

    public Country getCountry() {
        return country;
    }

    public void setCountry(Country country) {
        this.country = country;
    }

    public String getStyleReference() {
        return styleReference;
    }

    public void setStyleReference(String styleReference) {
        this.styleReference = styleReference;
    }

    public String getStyleDescription() {
        return styleDescription;
    }

    public void setStyleDescription(String styleDescription) {
        this.styleDescription = styleDescription;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;

        if (o == null || getClass() != o.getClass()) return false;

        DutyDrawBackItemSearch that = (DutyDrawBackItemSearch) o;

        return new EqualsBuilder()
                .append(country, that.country)
                .append(reference, that.reference)
                .append(description, that.description)
                .append(organisationalUnitSupplier, that.organisationalUnitSupplier)
                .append(organisationalUnit, that.organisationalUnit)
                .append(grnDate, that.grnDate)
                .append(eligibleForDrawback, that.eligibleForDrawback)
                .append(references, that.references)
                .append(itemNotEligibleReasons, that.itemNotEligibleReasons)
                .isEquals();
    }

    @Override
    public int hashCode() {
        return new HashCodeBuilder(17, 37)
                .append(country)
                .append(reference)
                .append(description)
                .append(organisationalUnitSupplier)
                .append(organisationalUnit)
                .append(grnDate)
                .append(eligibleForDrawback)
                .append(references)
                .append(itemNotEligibleReasons)
                .toHashCode();
    }
}