FECRequestSearchDTO.java

package com.tradecloud.dto.treasury;

import com.tradecloud.domain.base.utils.DateRange;
import com.tradecloud.domain.common.Currency;
import com.tradecloud.domain.dto.base.SearchBase;
import com.tradecloud.domain.model.deal.BuySellDealType;
import com.tradecloud.domain.model.fecrequest.FECRequestStatusType;
import com.tradecloud.domain.model.fecrequest.FecRequestSortBy;

import java.io.Serializable;

/**
 * Created by ds on 10/8/14.
 */
public class FECRequestSearchDTO extends SearchBase implements Serializable {
    private Currency currency;
    private FECRequestStatusType status;
    private BuySellDealType buySellDealType;
    private DefaultDTO organisationalUnit;
    private DefaultDTO forexGroup;
    private DateRange maturityDate= new DateRange();
    private FecRequestSortBy fecRequestSortBy;

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

    public Currency getCurrency() {
        return currency;
    }

    public void setCurrency(Currency currency) {
        this.currency = currency;
    }

    public FECRequestStatusType getStatus() {
        return status;
    }

    public void setStatus(FECRequestStatusType status) {
        this.status = status;
    }

    public BuySellDealType getBuySellDealType() {
        return buySellDealType;
    }

    public void setBuySellDealType(BuySellDealType buySellDealType) {
        this.buySellDealType = buySellDealType;
    }

    public DefaultDTO getOrganisationalUnit() {
        return organisationalUnit;
    }

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

    public DefaultDTO getForexGroup() {
        return forexGroup;
    }

    public void setForexGroup(DefaultDTO forexGroup) {
        this.forexGroup = forexGroup;
    }

    public DateRange getMaturityDate() {
        return maturityDate;
    }

    public void setMaturityDate(DateRange maturityDate) {
        this.maturityDate = maturityDate;
    }

    public FecRequestSortBy getFecRequestSortBy() {
        return fecRequestSortBy;
    }

    public void setFecRequestSortBy(FecRequestSortBy fecRequestSortBy) {
        this.fecRequestSortBy = fecRequestSortBy;
    }

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

        FECRequestSearchDTO that = (FECRequestSearchDTO) o;

        if (buySellDealType != that.buySellDealType) return false;
        if (currency != null ? !currency.equals(that.currency) : that.currency != null) return false;
        if (forexGroup != null ? !forexGroup.equals(that.forexGroup) : that.forexGroup != null) return false;
        if (maturityDate != null ? !maturityDate.equals(that.maturityDate) : that.maturityDate != null) return false;
        if (organisationalUnit != null ? !organisationalUnit.equals(that.organisationalUnit) : that.organisationalUnit != null) return false;
        if (status != that.status) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = currency != null ? currency.hashCode() : 0;
        result = 31 * result + (status != null ? status.hashCode() : 0);
        result = 31 * result + (buySellDealType != null ? buySellDealType.hashCode() : 0);
        result = 31 * result + (organisationalUnit != null ? organisationalUnit.hashCode() : 0);
        result = 31 * result + (forexGroup != null ? forexGroup.hashCode() : 0);
        result = 31 * result + (maturityDate != null ? maturityDate.hashCode() : 0);
        return result;
    }

    @Override
    public String toString() {
        return "FECRequestSearchDTO{" +
                "currency=" + currency +
                ", status=" + status +
                ", buySellDealType=" + buySellDealType +
                ", organisationalUnit=" + organisationalUnit +
                ", forexGroup=" + forexGroup +
                ", maturityDate=" + maturityDate +
                '}';
    }
}