ExportPartySearch.java

package com.tradecloud.domain.export;

import com.tradecloud.domain.agent.ActiveType;
import com.tradecloud.domain.dto.base.SearchBase;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import org.apache.log4j.Logger;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * Agent Search Request class.
 */
@Component
@Scope("view")
public class ExportPartySearch extends SearchBase implements Serializable {

    private String name;
    private String externalReference;
    //private AgentState state;
    private ActiveType active;
    private OrganisationalUnit organisationalUnit;
    private Date createdFrom;
    private Date createdTo;
    private boolean principleConsignee;
    private static final long serialVersionUID = 1L;
    private static transient Logger log = Logger.getLogger(ExportPartySearch.class);

    @Override
    public String getTableName() {
        log.debug("Getting the table name of the search...");
        return "AbstractAgent";
    }

    public String getName() {
        log.debug("Getting name of search...");
        return name;
    }

    public void setName(String name) {
        log.debug("Setting name of search :  " + name);
        this.name = name;
    }

    public String getExternalReference() {
        log.debug("Getting extRef of search...");
        return externalReference;
    }

    public void setExternalReference(String externalReference) {
        log.debug("Setting extRef of search : " + externalReference);
        this.externalReference = externalReference;
    }

    public OrganisationalUnit getOrganisationalUnit() {
        return organisationalUnit;
    }

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

    public Date getCreatedFrom() {
        return createdFrom;
    }

    public void setCreatedFrom(Date createdFrom) {
        this.createdFrom = createdFrom;
    }

    public Date getCreatedTo() {
        return createdTo;
    }

    public void setCreatedTo(Date createdTo) {
        this.createdTo = createdTo;
    }

    public ActiveType getActive() {
        return active;
    }

    public void setActive(ActiveType active) {
        this.active = active;
    }

    @Override
    public String toString() {
        return "AgentSearch [name=" + name + ", externalReference=" + externalReference
                + ", organisationalUnit=" + organisationalUnit + ", createdFrom=" + createdFrom + ", createdTo=" + createdTo + "]";
    }

    public boolean isPrincipleConsignee() {
        return principleConsignee;
    }

    public void setPrincipleConsignee(boolean principleConsignee) {
        this.principleConsignee = principleConsignee;
    }

    @Override
    public int hashCode() {
        return Objects.hash(getName(), getExternalReference(), getActive(), getOrganisationalUnit(),
                getCreatedFrom(), getCreatedTo(), isPrincipleConsignee(), super.getSearchMetaParams());
    }
}