ForecastSearchDTO.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.helper.ReportFormat;

import java.io.Serializable;

/**
 * Created by ds on 10/30/14.
 */
public class ForecastSearchDTO extends SearchBase implements Serializable {

    private Currency currency;
    private DefaultDTO organisationalUnit;
    private DefaultDTO forexGroup;
    private DateRange forecastMaturityDate= new DateRange();
    private String status;
    private ReportFormat reportFormat;

    public Currency getCurrency() {
        return currency;
    }

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

    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 getForecastMaturityDate() {
        return forecastMaturityDate;
    }

    public void setForecastMaturityDate(DateRange forecastMaturityDate) {
        this.forecastMaturityDate = forecastMaturityDate;
    }

    public String getStatus() {
        return status;
    }

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

    public ReportFormat getReportFormat() {
        return reportFormat;
    }

    public void setReportFormat(ReportFormat reportFormat) {
        this.reportFormat = reportFormat;
    }

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

        ForecastSearchDTO that = (ForecastSearchDTO) o;

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

        return true;
    }

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

    @Override
    public String toString() {
        return "ForecastSearchDTO{" +
                "currency=" + currency +
                ", organisationalUnit=" + organisationalUnit +
                ", forexGroup=" + forexGroup +
                ", forecastMaturityDate=" + forecastMaturityDate +
                ", status='" + status + '\'' +
                ", reportFormat=" + reportFormat +
                '}';
    }

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