CostDefinitionMetadata.java
package com.tradecloud.domain.costing;
import com.tradecloud.common.base.PersistenceBase;
/**
* <p>
* This defines the <em>user interfacing</em> behaviour (i.e.
* mandatory/optional, editable/not, etc) of a particular cost line.
* </p>
*/
public class CostDefinitionMetadata extends PersistenceBase {
private static final long serialVersionUID = 1L;
CostDefinition definition = null; // Needed for Hibernate's reverse mapping.
private boolean tc2ccRatesOverridable = false;
private boolean amountOverridable = false;
private boolean percentageOverridable = false;
private boolean percentageRequired = false;
private boolean settlementDateBasisOverridable = false;
private boolean settlementDateOverridable = false;
private boolean transactionCurrencyOverridable = false;
private boolean alwaysCalculableOptionVisible = false;
private String amountAlgorithm = null;
private String percentageAlgorithm = null;
private boolean mandatory = false;
public boolean isAlwaysCalculableOptionVisible() {
return alwaysCalculableOptionVisible;
}
public void setAlwaysCalculableOptionVisible(boolean alwaysCalculableOptionVisible) {
this.alwaysCalculableOptionVisible = alwaysCalculableOptionVisible;
}
public boolean isAmountOverridable() {
return amountOverridable;
}
public void setAmountOverridable(boolean amountOverridable) {
this.amountOverridable = amountOverridable;
}
public boolean isPercentageOverridable() {
return percentageOverridable;
}
public void setPercentageOverridable(boolean percentageOverridable) {
this.percentageOverridable = percentageOverridable;
}
public boolean isPercentageRequired() {
return percentageRequired;
}
public void setPercentageRequired(boolean percentageRequired) {
this.percentageRequired = percentageRequired;
}
public boolean isSettlementDateBasisOverridable() {
return settlementDateBasisOverridable;
}
public void setSettlementDateBasisOverridable(boolean overridable) {
this.settlementDateBasisOverridable = overridable;
}
public boolean isSettlementDateOverridable() {
return settlementDateOverridable;
}
public void setSettlementDateOverridable(boolean settlementDateOverridable) {
this.settlementDateOverridable = settlementDateOverridable;
}
public boolean isTc2ccRatesOverridable() {
return tc2ccRatesOverridable;
}
public void setTc2ccRatesOverridable(boolean tc2ccRatesOverridable) {
this.tc2ccRatesOverridable = tc2ccRatesOverridable;
}
public boolean isTransactionCurrencyOverridable() {
return transactionCurrencyOverridable;
}
public void setTransactionCurrencyOverridable(boolean transactionCurrencyOverridable) {
this.transactionCurrencyOverridable = transactionCurrencyOverridable;
}
public String getAmountAlgorithm() {
return amountAlgorithm;
}
public void setAmountAlgorithm(String algorithm) {
this.amountAlgorithm = algorithm;
}
public String getPercentageAlgorithm() {
return percentageAlgorithm;
}
public void setPercentageAlgorithm(String algorithm) {
this.percentageAlgorithm = algorithm;
}
public boolean isMandatory() {
return mandatory;
}
public void setMandatory(boolean mandatory) {
this.mandatory = mandatory;
}
/**
* @return Returns the definition.
*/
public CostDefinition getDefinition() {
return definition;
}
/**
* @param definition The definition to set.
*/
/*
* public void setDefinition( CostDefinition definition ) { this.definition = definition; }
*/
public boolean equals(Object obj) {
if (!(obj instanceof CostDefinitionMetadata))
return false;
CostDefinitionMetadata other = (CostDefinitionMetadata) obj;
// First compare ids (if available)
if (getId() != null && other.getId() != null)
return getId().equals(other.getId());
// Next compare business keys
// Treat any null as NOT equal, so that we can load new "unidentified"
// instances into a set without them replacing each other
if (definition == null || other.definition == null)
return false;
return definition.equals(other.definition);
}
public int hashCode() {
return definition != null ? definition.hashCode() : 0;
}
}