CalculatedCostingCell.java
package com.tradecloud.domain.document.invoice;
import com.tradecloud.common.base.HibernateUtils;
import com.tradecloud.domain.common.Currency;
import com.tradecloud.domain.costing.CostLine;
import com.tradecloud.domain.costing.VatType;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import javax.persistence.ManyToOne;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
/**
*
*/
public class CalculatedCostingCell implements Comparable<CalculatedCostingCell>, CostingCell {
private BigDecimal transactionAmount;
private Currency transactionCurrency;
@NotNull
@ManyToOne(optional = false)
private CostLine costLine;
private BigDecimal spotRate;
private BigDecimal forwardRate;
private Date settlementDate;
//TODO: Costing team figure out if this is ok??
private BigDecimal percentage;
@Override
public BigDecimal getTransactionAmount() {
return transactionAmount;
}
@Override
public void setTransactionAmount(BigDecimal transactionAmount) {
this.transactionAmount = transactionAmount;
}
public CostLine getCostLine() {
return costLine;
}
public void setCostLine(CostLine costLine) {
this.costLine = costLine;
}
@Override
public String getCode() {
return costLine.getCostLineTemplate().getCode();
}
@Override
public Currency getTransactionCurrency() {
return transactionCurrency;
}
@Override
public void setTransactionCurrency(Currency transactionCurrency) {
this.transactionCurrency = transactionCurrency;
}
@Override
public void setSpotRate(BigDecimal spotRate) {
this.spotRate = spotRate;
}
@Override
public void setForwardRate(BigDecimal forwardRate) {
this.forwardRate = forwardRate;
}
@Override
public BigDecimal getSpotRate() {
return spotRate;
}
@Override
public BigDecimal getForwardRate() {
return forwardRate;
}
@Override
public Date getSettlementDate() {
return settlementDate;
}
@Override
public void setSettlementDate(Date settlementDate) {
this.settlementDate = settlementDate;
}
@Override
public boolean isOverridden() {
//cannot override CalculatedCostingCell
return false;
}
@Override
public void setOverridden(boolean overridden) {
//do nothing for this
}
@Override
public void setPercentage(BigDecimal percentage) {
this.percentage = percentage;
}
@Override
public BigDecimal getPercentage() {
return percentage;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (!HibernateUtils.proxyClassEquals(this, obj)) {
return false;
}
CalculatedCostingCell obj1 = (CalculatedCostingCell) obj;
return new EqualsBuilder().append(getCostLine(), obj1.getCostLine())
.append(getTransactionAmount(), obj1.getTransactionAmount()).append(getTransactionCurrency(), obj1.getTransactionCurrency())
.isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(getCostLine()).append(getTransactionAmount()).append(getTransactionCurrency()).toHashCode();
}
@Override
public int compareTo(CalculatedCostingCell clcc) {
return costLine.getCostLineTemplate().getName().compareTo(clcc.getCostLine().getCostLineTemplate().getName());
}
@Override
public String toString() {
return new ToStringBuilder(this).append(costLine).append(transactionAmount).append(transactionCurrency)
.append(spotRate).append(forwardRate).toString();
}
public boolean isPercentageOverridden() {
//cannot override
return false;
}
public void setPercentageOverridden(boolean percentageOverridden) {
//cannot override
return;
}
@Override
public BigDecimal getInitialCostedValue() {
//cannot override
return BigDecimal.ZERO;
}
@Override
public void setInitialCostedValue(BigDecimal initialCostedValue) {
//cannot override
}
@Override
public boolean isSpotRateOverridden() {
return false;
}
@Override
public boolean isForwardRateOverridden() {
return false;
}
@Override
public void setInitialSpotRate(BigDecimal spotRate) {
}
@Override
public void setInitialForwardRate(BigDecimal forwardRate) {
}
@Override
public void setSpotRateOverridden(boolean b) {
}
@Override
public void setForwardRateOverridden(boolean b) {
}
@Override
public BigDecimal getRateFeedSpotRate() {
return null;
}
@Override
public void setRateFeedSpotRate(BigDecimal rateFeedSpotRate) {
}
@Override
public BigDecimal getRateFeedForwardRate() {
return null;
}
@Override
public void setRateFeedForwardRate(BigDecimal rateFeedForwardRate) {
}
@Override
public BigDecimal getVat() {
return null;
}
@Override
public void setVat(BigDecimal vat) {
}
@Override
public boolean showVat() {
return false;
}
@Override
public void setIntegratedVat(BigDecimal integratedVat) {
}
@Override
public BigDecimal getIntegratedVat() {
return null;
}
@Override
public BigDecimal getVarianceAgainstEstimateCosting() {
return null;
}
@Override
public void setVarianceAgainstEstimateCosting(BigDecimal varianceAgainstEstimateCosting) {
}
@Override
public BigDecimal getVarianceAgainstEstimate() {
return null;
}
@Override
public void setVarianceAgainstEstimate(BigDecimal varianceAgainstEstimate) {
}
@Override
public BigDecimal getEstimateAmount() {
return null;
}
@Override
public void setEstimateAmount(BigDecimal estimateAmount) {
}
@Override
public BigDecimal getEstimateCostingAmount() {
return null;
}
@Override
public void setEstimateCostingAmount(BigDecimal estimateCostingAmount) {
}
@Override
public BigDecimal getCostingAmount() {
return null;
}
@Override
public void setCostingAmount(BigDecimal costingAmount) {
}
@Override
public boolean isUseIntegratedRate() {
return false;
}
@Override
public void setUseIntegratedRate(boolean useIntegratedRate) {
}
@Override
public void setDutiable(boolean dutiable) {
}
@Override
public boolean isDutiable() {
return false;
}
@Override
public void setOverriddenVatType(boolean overriddenVatType) {
}
@Override
public boolean isOverriddenVatType() {
return false;
}
@Override
public void setVatType(VatType vatType) {
}
@Override
public VatType getVatType() {
return null;
}
}