CostGroup.java
package com.tradecloud.domain.costing;
import org.apache.commons.lang.WordUtils;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlType;
/**
*
*/
@XmlType(name = "CostGroup")
@XmlEnum
public enum CostGroup implements Comparable<CostGroup> {
BASE_SUPPLY("BASE_SUPPLY", true), SUPPLY("SUPPLY", true), EXWORKS("SUPPLY ADDITIONAL COSTS", true), AGENT("AGENT", false),
FORWARDING("FORWARDING", true), FREIGHT("FREIGHT", false),
CLEARING("CLEARING", false), CUSTOMS("CUSTOMS", false), FINANCE("FINANCE", false), INTERNAL_PROVISIONS("INTERNAL PROVISIONS", false),
MARGIN("MARGIN", false), REVENUE("REVENUE", false), TRADE_FINANCE("TRADE FINANCE", false), EXPORT("EXPORT", false);
private final String value;
/**
* Indicate whether this is a direct or indirect cost group.
*/
private final boolean directCost;
CostGroup(String v, boolean d) {
value = v;
directCost = d;
}
public String value() {
return value;
}
public String getHumanValue() {
return WordUtils.capitalize(value);
}
//changes e.g. INTERNAL PROVISIONS to Internal Provisions
public String getDisplayValue() {
String[] split = value.split(" ");
String toReturn = "";
for (int i = 0; i < split.length; i++) {
if (i != 0)
toReturn += " ";
String current = split[i];
toReturn = toReturn + current.charAt(0) + current.substring(1).toLowerCase();
}
return toReturn;
}
// This should be worked out from the costline.payerType
@Deprecated
public boolean isDirectCost() {
return directCost;
}
}