CostSummaryDTO.java

package com.tradecloud.dto.api;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public abstract class CostSummaryDTO {

    @JsonProperty(required = true)
    private String reference;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private String incoterm;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal totalCostExVAT;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal totalCostIncVAT;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal totalCostExVatAndInternalProvisions;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal supplyCostTotal;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal remainingLogisticsCosts;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal totalVat=BigDecimal.ZERO;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal customsVat=BigDecimal.ZERO;

    @JsonProperty(access = JsonProperty.Access.AUTO)
    private String costingCurrency;
    @JsonProperty(required = true,value="costGroupSummaryDTOList")
    private List<CostGroupSummaryDTO> costGroupSummaryDTOList;

    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal financeTotalVat=BigDecimal.ZERO;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal financeTotalCostIncVat=BigDecimal.ZERO;

    public String getReference() {
        return reference;
    }

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

    public String getIncoterm() {
        return incoterm;
    }

    public void setIncoterm(String incoterm) {
        this.incoterm = incoterm;
    }

    @JsonPropertyDescription(value = "You may choose to send only overridden cost group")
    public List<CostGroupSummaryDTO> getCostGroupSummaryDTOList() {
        if (costGroupSummaryDTOList == null) {
            costGroupSummaryDTOList = new ArrayList<>();
        }
        return costGroupSummaryDTOList;
    }

    public void setCostGroupSummaryDTOList(List<CostGroupSummaryDTO> costGroupSummaryDTOList) {
        this.costGroupSummaryDTOList = costGroupSummaryDTOList;
    }

    public BigDecimal getTotalCostExVAT() {
        return totalCostExVAT;
    }

    public void setTotalCostExVAT(BigDecimal totalCostExVAT) {
        this.totalCostExVAT = totalCostExVAT;
    }

    public String getCostingCurrency() {
        return costingCurrency;
    }

    public void setCostingCurrency(String costingCurrency) {
        this.costingCurrency = costingCurrency;
    }

    public BigDecimal getTotalCostIncVAT() {
        return totalCostIncVAT;
    }

    public void setTotalCostIncVAT(BigDecimal totalCostIncVAT) {
        this.totalCostIncVAT = totalCostIncVAT;
    }

    public BigDecimal getTotalCostExVatAndInternalProvisions() {
        return totalCostExVatAndInternalProvisions;
    }

    public void setTotalCostExVatAndInternalProvisions(BigDecimal totalCostExVatAndInternalProvisions) {
        this.totalCostExVatAndInternalProvisions = totalCostExVatAndInternalProvisions;
    }

    public BigDecimal getSupplyCostTotal() {
        return supplyCostTotal;
    }

    public void setSupplyCostTotal(BigDecimal supplyCostTotal) {
        this.supplyCostTotal = supplyCostTotal;
    }

    public BigDecimal getRemainingLogisticsCosts() {
        return remainingLogisticsCosts;
    }

    public void setRemainingLogisticsCosts(BigDecimal remainingLogisticsCosts) {
        this.remainingLogisticsCosts = remainingLogisticsCosts;
    }

    public BigDecimal getTotalVat() {
        return totalVat;
    }

    public void setTotalVat(BigDecimal totalVat) {
        this.totalVat = totalVat;
    }

    public BigDecimal getCustomsVat() {
        return customsVat;
    }

    public void setCustomsVat(BigDecimal customsVat) {
        this.customsVat = customsVat;
    }

    public BigDecimal getFinanceTotalVat() {
        return financeTotalVat;
    }

    public void setFinanceTotalVat(BigDecimal financeTotalVat) {
        this.financeTotalVat = financeTotalVat;
    }

    public BigDecimal getFinanceTotalCostIncVat() {
        return financeTotalCostIncVat;
    }

    public void setFinanceTotalCostIncVat(BigDecimal financeTotalCostIncVat) {
        this.financeTotalCostIncVat = financeTotalCostIncVat;
    }
}