This represents an individual decorative or functional embellishment on an item.
String embellishment_name: Name of the embellishment (for example, "Fine material" or "Tassels").
Double cf: The embellishment's CF value.
Double wt_mod: Weight adjustment, if any. This defaults to 1 and is expressed as a decimal multiplier to the base item's weight. For example, 0.9 for an embellishment which reduces the weight of the item by 10%.
String motif_option: Some options don't lead to item having a particular decorative motif (for example, improved materials). Some do (for example, relief carving). Some could go either way (for example, painting; an item could simply be painted, say, entirely green, or have figures painted on it in green). This defaults to "N".
String emb_code: A single string corresponding to the range of attributes which items may have.
The constructor I'm using takes a node (from Embelishments.xml) handed to it by the calling class. It goes through the node's elements and extracts various bits of data, putting them into the appropriate variables.
package hoardomatic;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Embellishment {
private String embellishment_name;
private Double cf;
private Double flat_cost;
private Double wt_mod;
private String motif_option;
private String emb_code;
public Embellishment() {
embellishment_name = "";
cf = 0.0;
flat_cost = 0.0;
wt_mod = 1.0;
motif_option = "";
emb_code = "";
}
public Embellishment(Node node) {
motif_option = "";
wt_mod = 1.0;
flat_cost = 0.0;
NodeList tempNodes = node.getChildNodes();
for (int j = 0; j < tempNodes.getLength(); j++) {
Node subnode = tempNodes.item(j);
if (subnode.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) subnode;
if (element.getNodeName().contentEquals("Embellishment")) {
embellishment_name = element.getTextContent();
}
if (element.getNodeName().contentEquals("motif")) {
motif_option = element.getTextContent();
}
if (element.getNodeName().contentEquals("CF")) {
cf =Double.parseDouble(element.getTextContent());
}
if (element.getNodeName().contentEquals("Cost")) {
flat_cost =Double.parseDouble(element.getTextContent());
}
if (element.getNodeName().contentEquals("wtmod")) {
wt_mod = Double.parseDouble(element.getTextContent());
}
if (element.getNodeName().contentEquals("emb_code")) {
emb_code = element.getTextContent();
}
if (element.getNodeName().contentEquals("Type")) {
emb_code = element.getTextContent();
}
}
}
}
public Embellishment(String the_name, Double the_cf, Double the_wt_mod) {
// TODO Auto-generated constructor stub
embellishment_name = the_name;
cf = the_cf;
wt_mod = the_wt_mod;
}
public void setWtMod(Double new_wt_mod){
flat_cost = new_wt_mod;
}
public void setCost(Double new_cost){
flat_cost = new_cost;
}
public void setCF(Double new_cf){
cf = new_cf;
}
public String getEmbellishmentName(){
return embellishment_name;
}
public void setEmbellishmentName(String new_name){
embellishment_name = new_name;
}
public String getMotifOption(){
return motif_option;
}
public Double getCf(){
return cf;
}
public Double getWtMod(){
return wt_mod;
}
public String getEmbCode(){
return emb_code;
}
}
Embellishment
String embellishment_name: Name of the embellishment (for example, "Fine material" or "Tassels").
Double cf: The embellishment's CF value.
Double wt_mod: Weight adjustment, if any. This defaults to 1 and is expressed as a decimal multiplier to the base item's weight. For example, 0.9 for an embellishment which reduces the weight of the item by 10%.
String motif_option: Some options don't lead to item having a particular decorative motif (for example, improved materials). Some do (for example, relief carving). Some could go either way (for example, painting; an item could simply be painted, say, entirely green, or have figures painted on it in green). This defaults to "N".
String emb_code: A single string corresponding to the range of attributes which items may have.
The constructor I'm using takes a node (from Embelishments.xml) handed to it by the calling class. It goes through the node's elements and extracts various bits of data, putting them into the appropriate variables.
package hoardomatic;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Embellishment {
private String embellishment_name;
private Double cf;
private Double flat_cost;
private Double wt_mod;
private String motif_option;
private String emb_code;
public Embellishment() {
embellishment_name = "";
cf = 0.0;
flat_cost = 0.0;
wt_mod = 1.0;
motif_option = "";
emb_code = "";
}
public Embellishment(Node node) {
motif_option = "";
wt_mod = 1.0;
flat_cost = 0.0;
NodeList tempNodes = node.getChildNodes();
for (int j = 0; j < tempNodes.getLength(); j++) {
Node subnode = tempNodes.item(j);
if (subnode.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) subnode;
if (element.getNodeName().contentEquals("Embellishment")) {
embellishment_name = element.getTextContent();
}
if (element.getNodeName().contentEquals("motif")) {
motif_option = element.getTextContent();
}
if (element.getNodeName().contentEquals("CF")) {
cf =Double.parseDouble(element.getTextContent());
}
if (element.getNodeName().contentEquals("Cost")) {
flat_cost =Double.parseDouble(element.getTextContent());
}
if (element.getNodeName().contentEquals("wtmod")) {
wt_mod = Double.parseDouble(element.getTextContent());
}
if (element.getNodeName().contentEquals("emb_code")) {
emb_code = element.getTextContent();
}
if (element.getNodeName().contentEquals("Type")) {
emb_code = element.getTextContent();
}
}
}
}
public Embellishment(String the_name, Double the_cf, Double the_wt_mod) {
// TODO Auto-generated constructor stub
embellishment_name = the_name;
cf = the_cf;
wt_mod = the_wt_mod;
}
public void setWtMod(Double new_wt_mod){
flat_cost = new_wt_mod;
}
public void setCost(Double new_cost){
flat_cost = new_cost;
}
public void setCF(Double new_cf){
cf = new_cf;
}
public String getEmbellishmentName(){
return embellishment_name;
}
public void setEmbellishmentName(String new_name){
embellishment_name = new_name;
}
public String getMotifOption(){
return motif_option;
}
public Double getCf(){
return cf;
}
public Double getWtMod(){
return wt_mod;
}
public String getEmbCode(){
return emb_code;
}
}
Comments