FECDTO.java

package com.tradecloud.dto.treasury;

import com.tradecloud.domain.event.DealsEvent;
import com.tradecloud.domain.model.BuySellIndicator;
import com.tradecloud.domain.model.fec.FECStatusType;
import com.tradecloud.domain.model.fec.FECTransactionType;
import com.tradecloud.domain.model.fec.FECType;

import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

/**
 * Created by ds on 10/10/14.
 */
public class FECDTO extends BaseDTO {
    private String bankReference;
    private String internalReference;
    private MoneyDTO amount = new MoneyDTO();
    private MoneyDTO unlinkedAmount = new MoneyDTO();
    private MoneyDTO cashFlow = new MoneyDTO();
    private MoneyDTO linkedAmount = new MoneyDTO();
    private Date maturityDate;
    private Date dealDate;
    private Date confirmedDateTime;
    private MoneyDTO spotRate = new MoneyDTO();
    private MoneyDTO forwardRate = new MoneyDTO();
    private MoneyDTO costingRate = new MoneyDTO();
    private MoneyDTO costingRateLocalCurrency = new MoneyDTO();
    private boolean confirmed;
    private FECType type;
    private DefaultDTO organisationalUnit;
    private DefaultDTO forexGroup;
    private FECTransactionType fecTransactionType;
    private DefaultDTO treasuryBank;
    private String dealer;
    private BuySellIndicator buySellIndicator;
    private FECStatusType status;
    private MoneyDTO localCurrencyAmount = new MoneyDTO();
    private Long fecRequestId;
    private List<AuditEventDTO> auditEventDTOs;
    private List<FECDealLinkDTO> fecDealLinkDTOs;
    private boolean selected;
    private boolean established;
    private List<DealDTO> dealsToLink;
    private FECDTO parentFecDTO;
    private Long parentFecId;
    private List<FECDTO>fecLegsHistory=new ArrayList<>();
    protected List<DealsEvent> dealsEvents = new LinkedList<DealsEvent>();
    private boolean searchFecRequest;

    public String getBankReference() {
        return bankReference;
    }

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

    public String getInternalReference() {
        return internalReference;
    }

    public void setInternalReference(String internalReference) {
        this.internalReference = internalReference;
    }

    public MoneyDTO getAmount() {
        return amount;
    }

    public void setAmount(MoneyDTO amount) {
        this.amount = amount;
    }

    public MoneyDTO getUnlinkedAmount() {
        return unlinkedAmount;
    }

    public void setUnlinkedAmount(MoneyDTO unlinkedAmount) {
        this.unlinkedAmount = unlinkedAmount;
    }

    public Date getMaturityDate() {
        return maturityDate;
    }

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

    public Date getDealDate() {
        return dealDate;
    }

    public void setDealDate(Date dealDate) {
        this.dealDate = dealDate;
    }

    public MoneyDTO getSpotRate() {
        return spotRate;
    }

    public void setSpotRate(MoneyDTO spotRate) {
        this.spotRate = spotRate;
    }

    public MoneyDTO getForwardRate() {
        return forwardRate;
    }

    public void setForwardRate(MoneyDTO forwardRate) {
        this.forwardRate = forwardRate;
    }

    public boolean isConfirmed() {
        return confirmed;
    }

    public void setConfirmed(boolean confirmed) {
        this.confirmed = confirmed;
    }

    public FECType getType() {
        return type;
    }

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

    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 FECTransactionType getFecTransactionType() {
        return fecTransactionType;
    }

    public void setFecTransactionType(FECTransactionType fecTransactionType) {
        this.fecTransactionType = fecTransactionType;
    }

    public DefaultDTO getTreasuryBank() {
        return treasuryBank;
    }

    public void setTreasuryBank(DefaultDTO treasuryBank) {
        this.treasuryBank = treasuryBank;
    }

    public String getDealer() {
        return dealer;
    }

    public void setDealer(String dealer) {
        this.dealer = dealer;
    }

    public BuySellIndicator getBuySellIndicator() {
        return buySellIndicator;
    }

    public void setBuySellIndicator(BuySellIndicator buySellIndicator) {
        this.buySellIndicator = buySellIndicator;
    }

    public FECStatusType getStatus() {
        return status;
    }

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

    public MoneyDTO getLocalCurrencyAmount() {
        return localCurrencyAmount;
    }

    public void setLocalCurrencyAmount(MoneyDTO localCurrencyAmount) {
        this.localCurrencyAmount = localCurrencyAmount;
    }

    public Long getFecRequestId() {
        return fecRequestId;
    }

    public void setFecRequestId(Long fecRequestId) {
        this.fecRequestId = fecRequestId;
    }

    public List<AuditEventDTO> getAuditEventDTOs() {
        return auditEventDTOs;
    }

    public void setAuditEventDTOs(List<AuditEventDTO> auditEventDTOs) {
        this.auditEventDTOs = auditEventDTOs;
    }

    public MoneyDTO getCashFlow() {
        return cashFlow;
    }

    public void setCashFlow(MoneyDTO cashFlow) {
        this.cashFlow = cashFlow;
    }

    public MoneyDTO getLinkedAmount() {
        return linkedAmount;
    }

    public void setLinkedAmount(MoneyDTO linkedAmount) {
        this.linkedAmount = linkedAmount;
    }

    public boolean isSelected() {
        return selected;
    }

    public void setSelected(boolean selected) {
        this.selected = selected;
    }

    public List<FECDealLinkDTO> getFecDealLinkDTOs() {
        return fecDealLinkDTOs;
    }

    public void setFecDealLinkDTOs(List<FECDealLinkDTO> fecDealLinkDTOs) {
        this.fecDealLinkDTOs = fecDealLinkDTOs;
    }

    public boolean isEstablished() {
        return established;
    }

    public void setEstablished(boolean established) {
        this.established = established;
    }

    public List<DealDTO> getDealsToLink() {
        return dealsToLink;
    }

    public void setDealsToLink(List<DealDTO> dealsToLink) {
        this.dealsToLink = dealsToLink;
    }

    public boolean isSearchFecRequest() {
        return searchFecRequest;
    }

    public void setSearchFecRequest(boolean searchFecRequest) {
        this.searchFecRequest = searchFecRequest;
    }

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

        FECDTO fecdto = (FECDTO) o;

        if (!bankReference.equals(fecdto.bankReference)) return false;

        return true;
    }

    @Override
    public int hashCode() {
        return bankReference.hashCode();
    }

    @Override
    public String toString() {
        return "FECDTO{" +
                "bankReference='" + bankReference + '\'' +
                ", internalReference='" + internalReference + '\'' +
                ", amount=" + amount +
                ", unlinkedAmount=" + unlinkedAmount +
                ", maturityDate=" + maturityDate +
                ", dealDate=" + dealDate +
                '}';
    }

    public void setParentFecDTO(FECDTO parentFecDTO) {
        this.parentFecDTO = parentFecDTO;
    }

    public FECDTO getParentFecDTO() {
        return parentFecDTO;
    }

    public MoneyDTO getCostingRate() {
        return costingRate;
    }

    public void setCostingRate(MoneyDTO costingRate) {
        this.costingRate = costingRate;
    }

    public MoneyDTO getCostingRateLocalCurrency() {
        return costingRateLocalCurrency;
    }

    public void setCostingRateLocalCurrency(MoneyDTO costingRateLocalCurrency) {
        this.costingRateLocalCurrency = costingRateLocalCurrency;
    }

    public Long getParentFecId() {
        return parentFecId;
    }

    public void setParentFecId(Long parentFecId) {
        this.parentFecId = parentFecId;
    }

    public List<FECDTO> getFecLegsHistory() {
        return fecLegsHistory;
    }

    public void setFecLegsHistory(List<FECDTO> fecLegsHistory) {
        this.fecLegsHistory = fecLegsHistory;
    }

    public Date getConfirmedDateTime() {
        return confirmedDateTime;
    }

    public void setConfirmedDateTime(Date confirmedDateTime) {
        this.confirmedDateTime = confirmedDateTime;
    }

    public List<DealsEvent> getDealsEvents() {
        return dealsEvents;
    }

    public void setDealsEvents(List<DealsEvent> dealsEvents) {
        this.dealsEvents = dealsEvents;
    }
}