PaymentDTO.java

package com.tradecloud.dto.api.invoice;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import io.swagger.annotations.ApiModel;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

@ApiModel(description = "Planned Settlement Payment dto")
public class PaymentDTO {
    @JsonPropertyDescription(value = "The planned settlement id to allocate the payment to")
    @JsonProperty(required = true)
    private Long plannedSettlementId;
    @JsonProperty(required = true)
    private BigDecimal amount;
    @JsonProperty(required = true)
    private Date setttlementDate;
    @JsonProperty(required = true)
    private String reference;
    private String nominatedBank;

    public Long getPlannedSettlementId() {
        return plannedSettlementId;
    }

    public void setPlannedSettlementId(Long plannedSettlementId) {
        this.plannedSettlementId = plannedSettlementId;
    }

    public BigDecimal getAmount() {
        return amount;
    }

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

    public Date getSetttlementDate() {
        return setttlementDate;
    }

    public void setSetttlementDate(Date setttlementDate) {
        this.setttlementDate = setttlementDate;
    }

    public String getReference() {
        return reference;
    }

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

    public String getNominatedBank() {
        return nominatedBank;
    }

    public void setNominatedBank(String nominatedBank) {
        this.nominatedBank = nominatedBank;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        PaymentDTO that = (PaymentDTO) o;
        return Objects.equals(reference, that.reference);
    }

    @Override
    public int hashCode() {
        return Objects.hash(reference);
    }
}