LetterOfCreditSearch.java

package com.tradecloud.dto.letterofcredit;

import com.tradecloud.domain.base.utils.DateRange;
import com.tradecloud.domain.base.utils.ObjectUtil;
import com.tradecloud.domain.dto.base.SearchBase;
import com.tradecloud.domain.letterofcredit.LetterOfCreditOutOfSyncState;
import com.tradecloud.domain.letterofcredit.LetterOfCreditState;
import com.tradecloud.domain.letterofcredit.LetterOfCreditType;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.domain.party.Bank;
import com.tradecloud.domain.supplier.OrganisationalUnitSupplier;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

/**
 * TODO. Copied from modules. Do we need all the fields?
 * @author jon
 */
@Component
@Scope("view")
public class LetterOfCreditSearch extends SearchBase  implements Serializable {
    /** UID. */
    private static final long serialVersionUID = 1L;

    private String number;
    private LetterOfCreditType type;
    private Bank bank;
    private String bankReference;
    private String applicationReference;
    private OrganisationalUnitSupplier beneficiary;
    private LetterOfCreditState state;
    private LetterOfCreditOutOfSyncState outOfSyncState;
    private DateRange latestShipmentDate = new DateRange();
    private DateRange createdDate = new DateRange();
    private String orderReference;
    private boolean isForOutOfSync;
    private OrganisationalUnitSupplier supplier;

    protected List<OrganisationalUnitSupplier> selectedSuppliers = new ArrayList<OrganisationalUnitSupplier>();
    private OrganisationalUnit organisationalUnit;
    private Collection<OrganisationalUnit> organisationalUnits;
    public LetterOfCreditSearch() {
    }

    public List<OrganisationalUnitSupplier> getSelectedSuppliers() {
        return selectedSuppliers;
    }

    public void setSelectedSuppliers(List<OrganisationalUnitSupplier> selectedSuppliers) {
        this.selectedSuppliers = selectedSuppliers;
    }

    public OrganisationalUnit getOrganisationalUnit() {
        return organisationalUnit;
    }

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

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public LetterOfCreditType getType() {
        return type;
    }

    public void setType(LetterOfCreditType type) {
        this.type = type;
    }

    public Bank getBank() {
        return bank;
    }

    public void setBank(Bank bank) {
        this.bank = bank;
    }

    public String getBankReference() {
        return bankReference;
    }

    public void setBankReference(String bankReference) {
        this.bankReference = bankReference;
    }

    public String getApplicationReference() {
        return applicationReference;
    }

    public void setApplicationReference(String applicationReference) {
        this.applicationReference = applicationReference;
    }

    public Collection<OrganisationalUnit> getOrganisationalUnits() {
        return organisationalUnits;
    }

    public void setOrganisationalUnits(Collection<OrganisationalUnit> organisationalUnits) {
        this.organisationalUnits = organisationalUnits;
    }

    public OrganisationalUnitSupplier getBeneficiary() {
        return beneficiary;
    }

    public void setBeneficiary(OrganisationalUnitSupplier beneficiary) {
        this.beneficiary = beneficiary;
    }

    public DateRange getLatestShipmentDate() {
        return latestShipmentDate;
    }

    public void setLatestShipmentDate(DateRange latestShipmentDate) {
        this.latestShipmentDate = latestShipmentDate;
    }

    public DateRange getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(DateRange createdDate) {
        this.createdDate = createdDate;
    }

    public LetterOfCreditState getState() {
        return state;
    }

    public void setState(LetterOfCreditState state) {
        this.state = state;
    }

    public LetterOfCreditOutOfSyncState getOutOfSyncState() {
        return outOfSyncState;
    }

    public void setOutOfSyncState(LetterOfCreditOutOfSyncState outOfSyncState) {
        this.outOfSyncState = outOfSyncState;
    }

    /*
     public Criteria toCriteria() {
     return null;
     }
     */
    public Class getResultDTOType() {
        return null;
    }

    public void clearSearchCriteria() {
        //super.clearSearchCriteria();
        isForOutOfSync = false;
        number = null;

        bankReference = "";
        applicationReference = "";

        latestShipmentDate = null;
        createdDate = null;
        type = LetterOfCreditType.ALL;

    //LocalOrganisationDTO localOrganisationDTO = new LocalOrganisationDTO();
        //localOrganisationDTO.setName(DataTypes.ALL_LABEL);

        /*bank = new LocalIssuingBankDTO();
         bank.setOrganisation(localOrganisationDTO);*/
        bank = null;

        beneficiary = null;

        state = null;

    }

    public String getOrderReference() {
        return orderReference;
    }

    public void setOrderReference(String orderReference) {
        this.orderReference = orderReference;
    }

    public boolean isForOutOfSync() {
        return isForOutOfSync;
    }

    public void setForOutOfSync(boolean forOutOfSync) {
        isForOutOfSync = forOutOfSync;
    }

    public OrganisationalUnitSupplier getSupplier() {
        return supplier;
    }

    public void setSupplier(OrganisationalUnitSupplier supplier) {
        this.supplier = supplier;
    }

    @Override
    public String getTableName() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public boolean noSelectedOrgUnit() {
        return ObjectUtil.allNull(organisationalUnit,organisationalUnits);
    }
}