ExportSearch.java

package com.tradecloud.dto.export;

import com.tradecloud.domain.dto.base.SearchBase;
import com.tradecloud.domain.export.EdifactStatus;
import com.tradecloud.domain.export.ExportParty;
import com.tradecloud.domain.model.shipment.ShippingMode;
import com.tradecloud.domain.place.PlaceOfLoading;
import com.tradecloud.domain.sars.Status;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

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

@Component
@Scope("view")
public class ExportSearch extends SearchBase implements Serializable {

    private static final long serialVersionUID = 1L;
    private String shipmentNumber;
    private ExportParty consignee;
    private String invoiceNumber;
    private PlaceOfLoading depot;
    private String billOfEntryNumber;
    private Date createdDateFrom;
    private Date createdDateTo;
    private Status exportStatus;
    private Long cusdecId;
    private Long cuscarId;
    private String lrnNumber;
    private ShippingMode mode;
    private EdifactStatus edifactStatus;
    private String exporterReference;

    // This will search across lrnNumber, mrnNumber, billOfEntryNumber
    private String ediNumber;

    private Status[] exportStatuses=new Status[0];

    public ShippingMode getMode() {
        return mode;
    }

    public void setMode(ShippingMode mode) {
        this.mode = mode;
    }

    public String getShipmentNumber() {
        return shipmentNumber;
    }

    public void setShipmentNumber(String shipmentNumber) {
        this.shipmentNumber = shipmentNumber;
    }

    public ExportParty getConsignee() {
        return consignee;
    }

    public void setConsignee(ExportParty consignee) {
        this.consignee = consignee;
    }

    public String getInvoiceNumber() {
        return invoiceNumber;
    }

    public void setInvoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
    }

    public PlaceOfLoading getDepot() {
        return depot;
    }

    public void setDepot(PlaceOfLoading depot) {
        this.depot = depot;
    }

    public String getBillOfEntryNumber() {
        return billOfEntryNumber;
    }

    public void setBillOfEntryNumber(String billOfEntryNumber) {
        this.billOfEntryNumber = billOfEntryNumber;
    }

    public Date getCreatedDateFrom() {
        return createdDateFrom;
    }

    public void setCreatedDateFrom(Date createdDateFrom) {
        this.createdDateFrom = createdDateFrom;
    }

    public Date getCreatedDateTo() {
        return createdDateTo;
    }

    public void setCreatedDateTo(Date createdDateTo) {
        this.createdDateTo = createdDateTo;
    }

    public Status getExportStatus() {
        return exportStatus;
    }

    public void setExportStatus(Status exportStatus) {
        this.exportStatus = exportStatus;
    }

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

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    public Long getCusdecId() {
        return cusdecId;
    }

    public void setCusdecId(Long cusdecId) {
        this.cusdecId = cusdecId;
    }

    public String getLrnNumber() {
        return lrnNumber;
    }

    public void setLrnNumber(String lrnNumber) {
        this.lrnNumber = lrnNumber;
    }

    public EdifactStatus getEdifactStatus() {
        return edifactStatus;
    }

    public void setEdifactStatus(EdifactStatus edifactStatus) {
        this.edifactStatus = edifactStatus;
    }

    public String getEdiNumber() {
        return ediNumber;
    }

    public void setEdiNumber(String ediNumber) {
        this.ediNumber = ediNumber;
    }

    public String getExporterReference() {
        return exporterReference;
    }

    public void setExporterReference(String exporterReference) {
        this.exporterReference = exporterReference;
    }

    public void setCuscarId(Long cuscarId) {
        this.cuscarId = cuscarId;
    }

    public Long getCuscarId() {
        return cuscarId;
    }

    public Status[] getExportStatuses() {
        return exportStatuses;
    }

    public void setExportStatuses(Status[] exportStatuses) {
        this.exportStatuses = exportStatuses;
    }
}