DebitCreditDTO.java

package com.tradecloud.dto.treasury;

import com.tradecloud.domain.model.deal.DebitCreditNoteType;

import java.util.Date;

/**
 * Created by ds on 10/16/14.
 */
public class DebitCreditDTO extends BaseDTO {
    private DebitCreditNoteType  debitCreditNoteType;
    private String reference;
    private MoneyDTO amount=new MoneyDTO();
    private Date settlementDate;

    public DebitCreditNoteType getDebitCreditNoteType() {
        return debitCreditNoteType;
    }

    public void setDebitCreditNoteType(DebitCreditNoteType debitCreditNoteType) {
        this.debitCreditNoteType = debitCreditNoteType;
    }

    public String getReference() {
        return reference;
    }

    public void setReference(String reference) {
        this.reference = reference;
    }

    public MoneyDTO getAmount() {
        return amount;
    }

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

    public Date getSettlementDate() {
        return settlementDate;
    }

    public void setSettlementDate(Date settlementDate) {
        this.settlementDate = settlementDate;
    }

    @Override
    public String toString() {
        return "DebitCreditDTO{" +
                "debitCreditNoteType=" + debitCreditNoteType +
                ", reference='" + reference + '\'' +
                ", amount=" + amount +
                ", settlementDate=" + settlementDate +
                '}';
    }

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

        DebitCreditDTO that = (DebitCreditDTO) o;

        if (amount != null ? !amount.equals(that.amount) : that.amount != null) return false;
        if (debitCreditNoteType != that.debitCreditNoteType) return false;
        if (reference != null ? !reference.equals(that.reference) : that.reference != null) return false;
        if (settlementDate != null ? !settlementDate.equals(that.settlementDate) : that.settlementDate != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = debitCreditNoteType != null ? debitCreditNoteType.hashCode() : 0;
        result = 31 * result + (reference != null ? reference.hashCode() : 0);
        result = 31 * result + (amount != null ? amount.hashCode() : 0);
        result = 31 * result + (settlementDate != null ? settlementDate.hashCode() : 0);
        return result;
    }
}