WarehouseShipmentSearch.java

package com.tradecloud.dto.clearing;

import com.tradecloud.domain.base.utils.DateRange;
import com.tradecloud.dto.facilitiesregister.SearchDTO;

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

public class WarehouseShipmentSearch extends SearchDTO implements Serializable {

    private String countryOfOrigin;
    private String reference;
    private String description;
    private DateRange clearedDate = new DateRange();
    private List<String> references;
    private String customsFacilityName;
    private String clientShipmentReference;
    private String shipmentReference;
    private String shipmentNumber;
    private String mrnNumber;
    private String warehouseName;

    private boolean exactMatch = false;
    private String orderBy;

    public String getCountryOfOrigin() {
        return countryOfOrigin;
    }

    public void setCountryOfOrigin(String countryOfOrigin) {
        this.countryOfOrigin = countryOfOrigin;
    }

    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 DateRange getClearedDate() {
        return clearedDate;
    }

    public void setClearedDate(DateRange clearedDate) {
        this.clearedDate = clearedDate;
    }

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

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

    public String getCustomsFacilityName() {
        return customsFacilityName;
    }

    public void setCustomsFacilityName(String customsFacilityName) {
        this.customsFacilityName = customsFacilityName;
    }

    public String getClientShipmentReference() {
        return clientShipmentReference;
    }

    public void setClientShipmentReference(String clientShipmentReference) {
        this.clientShipmentReference = clientShipmentReference;
    }

    public String getShipmentReference() {
        return shipmentReference;
    }

    public void setShipmentReference(String shipmentReference) {
        this.shipmentReference = shipmentReference;
    }

    public String getShipmentNumber() {
        return shipmentNumber;
    }

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

    public String getMrnNumber() {
        return mrnNumber;
    }

    public void setMrnNumber(String mrnNumber) {
        this.mrnNumber = mrnNumber;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public boolean isExactMatch() {
        return exactMatch;
    }

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

    public String getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    public boolean isEmpty() {
        long isEmpty;
        isEmpty = Stream.of(countryOfOrigin, reference, description, clearedDate.getFrom(), clearedDate.getTo(), references,
                        shipmentReference, shipmentNumber, mrnNumber, warehouseName)
                .filter(param -> param != null).count();

        return isEmpty == 0;
    }

    @Override
    public String getTableName() {
        return null;
    }

    @Override
    public Object getOrganisationalUnit() {
        return super.getOrganisationalUnit();
    }
}