Java tutorial
package com.webbfontaine.valuewebb.model.template; import org.apache.commons.lang3.StringUtils; import org.jboss.seam.log.Log; import org.jboss.seam.log.Logging; import javax.persistence.Column; import javax.persistence.Embeddable; import javax.persistence.Transient; import java.lang.reflect.Method; /** * Copyrights 2002-2010 Webb Fontaine * This software is the proprietary information of Webb Fontaine. * Its use is subject to License terms. * User: nigiyan * Date: Mar 3, 2010 */ /** * Template is a group of elements describing commodity. Can be attached to found hsc / declared hsc */ @Embeddable public class Template { private Log logger = Logging.getLog(Template.class); private String f1; private String f2; private String f3; private String f4; private String f5; private String f6; private String f7; private String f8; private String f9; private String f10; private String f11; private String f12; private String f13; private String f14; private String f15; private String f16; private String f17; private String f18; private String f19; private String f20; private String f21; private String f22; private String f23; private String f24; private Integer fw1; private Integer fw2; private Integer fw3; private Integer fw4; private Integer fw5; private Integer fw6; private Integer fw7; private Integer fw8; private Integer fw9; private Integer fw10; private Integer fw11; private Integer fw12; private Integer fw13; private Integer fw14; private Integer fw15; private Integer fw16; private Integer fw17; private Integer fw18; private Integer fw19; private Integer fw20; private Integer fw21; private Integer fw22; private Integer fw23; private Integer fw24; private Integer baseWeight; private TemplateSpec spec; @Transient public TemplateSpec getSpec() { return spec; } public void setSpec(TemplateSpec spec) { this.spec = spec; } public String getF1() { return f1; } public void setF1(String f1) { this.f1 = f1; if (spec != null) { fw1 = spec.weightForField(0); } } public String getF2() { return f2; } public void setF2(String f2) { this.f2 = f2; if (spec != null) { fw2 = spec.weightForField(1); } } public String getF3() { return f3; } public void setF3(String f3) { this.f3 = f3; if (spec != null) { fw3 = spec.weightForField(2); } } public String getF4() { return f4; } public void setF4(String f4) { this.f4 = f4; if (spec != null) { fw4 = spec.weightForField(3); } } public String getF5() { return f5; } public void setF5(String f5) { this.f5 = f5; if (spec != null) { fw5 = spec.weightForField(4); } } public String getF6() { return f6; } public void setF6(String f6) { this.f6 = f6; if (spec != null) { fw6 = spec.weightForField(5); } } public String getF7() { return f7; } public void setF7(String f7) { this.f7 = f7; if (spec != null) { fw7 = spec.weightForField(6); } } public String getF8() { return f8; } public void setF8(String f8) { this.f8 = f8; if (spec != null) { fw8 = spec.weightForField(7); } } public String getF9() { return f9; } public void setF9(String f9) { this.f9 = f9; if (spec != null) { fw9 = spec.weightForField(8); } } public String getF10() { return f10; } public void setF10(String f10) { this.f10 = f10; if (spec != null) { fw10 = spec.weightForField(9); } } public String getF11() { return f11; } public void setF11(String f11) { this.f11 = f11; if (spec != null) { fw11 = spec.weightForField(10); } } public String getF12() { return f12; } public void setF12(String f12) { this.f12 = f12; if (spec != null) { fw12 = spec.weightForField(11); } } public String getF13() { return f13; } public void setF13(String f13) { this.f13 = f13; if (spec != null) { fw13 = spec.weightForField(12); } } public String getF14() { return f14; } public void setF14(String f14) { this.f14 = f14; if (spec != null) { fw14 = spec.weightForField(13); } } public String getF15() { return f15; } public void setF15(String f15) { this.f15 = f15; if (spec != null) { fw15 = spec.weightForField(14); } } public String getF16() { return f16; } public void setF16(String f16) { this.f16 = f16; if (spec != null) { fw16 = spec.weightForField(15); } } public String getF17() { return f17; } public void setF17(String f17) { this.f17 = f17; if (spec != null) { fw17 = spec.weightForField(16); } } public String getF18() { return f18; } public void setF18(String f18) { this.f18 = f18; if (spec != null) { fw18 = spec.weightForField(17); } } public String getF19() { return f19; } public void setF19(String f19) { this.f19 = f19; if (spec != null) { fw19 = spec.weightForField(18); } } public String getF20() { return f20; } public void setF20(String f20) { this.f20 = f20; if (spec != null) { fw20 = spec.weightForField(19); } } public String getF21() { return f21; } public void setF21(String f21) { this.f21 = f21; if (spec != null) { fw21 = spec.weightForField(20); } } public String getF22() { return f22; } public void setF22(String f22) { this.f22 = f22; if (spec != null) fw22 = spec.weightForField(21); } public String getF23() { return f23; } public void setF23(String f23) { this.f23 = f23; if (spec != null) fw23 = spec.weightForField(22); } public String getF24() { return f24; } public void setF24(String f24) { this.f24 = f24; if (spec != null) { fw24 = spec.weightForField(23); } } public Integer getFw1() { return fw1; } public void setFw1(Integer fw1) { this.fw1 = fw1; } public Integer getFw2() { return fw2; } public void setFw2(Integer fw2) { this.fw2 = fw2; } public Integer getFw3() { return fw3; } public void setFw3(Integer fw3) { this.fw3 = fw3; } public Integer getFw4() { return fw4; } public void setFw4(Integer fw4) { this.fw4 = fw4; } public Integer getFw5() { return fw5; } public void setFw5(Integer fw5) { this.fw5 = fw5; } public Integer getFw6() { return fw6; } public void setFw6(Integer fw6) { this.fw6 = fw6; } public Integer getFw7() { return fw7; } public void setFw7(Integer fw7) { this.fw7 = fw7; } public Integer getFw8() { return fw8; } public void setFw8(Integer fw8) { this.fw8 = fw8; } public Integer getFw9() { return fw9; } public void setFw9(Integer fw9) { this.fw9 = fw9; } public Integer getFw10() { return fw10; } public void setFw10(Integer fw10) { this.fw10 = fw10; } public Integer getFw11() { return fw11; } public void setFw11(Integer fw11) { this.fw11 = fw11; } public Integer getFw12() { return fw12; } public void setFw12(Integer fw12) { this.fw12 = fw12; } public Integer getFw13() { return fw13; } public void setFw13(Integer fw13) { this.fw13 = fw13; } public Integer getFw14() { return fw14; } public void setFw14(Integer fw14) { this.fw14 = fw14; } public Integer getFw15() { return fw15; } public void setFw15(Integer fw15) { this.fw15 = fw15; } public Integer getFw16() { return fw16; } public void setFw16(Integer fw16) { this.fw16 = fw16; } public Integer getFw17() { return fw17; } public void setFw17(Integer fw17) { this.fw17 = fw17; } public Integer getFw18() { return fw18; } public void setFw18(Integer fw18) { this.fw18 = fw18; } public Integer getFw19() { return fw19; } public void setFw19(Integer fw19) { this.fw19 = fw19; } public Integer getFw20() { return fw20; } public void setFw20(Integer fw20) { this.fw20 = fw20; } public Integer getFw21() { return fw21; } public void setFw21(Integer fw21) { this.fw21 = fw21; } public Integer getFw22() { return fw22; } public void setFw22(Integer fw22) { this.fw22 = fw22; } public Integer getFw23() { return fw23; } public void setFw23(Integer fw23) { this.fw23 = fw23; } public Integer getFw24() { return fw24; } public void setFw24(Integer fw24) { this.fw24 = fw24; } @Column(name = "BASE_WGT") public Integer getBaseWeight() { return baseWeight; } public void setBaseWeight(Integer baseWeight) { this.baseWeight = baseWeight; } public String generateSpec() { if (getSpec() == null) { logger.warn( "Attempt to generate specification code for Template which does not have specification defined!"); return null; } StringBuffer specCode = new StringBuffer(64); try { Method[] fws = Template.class.getMethods(); for (Method fw : fws) { if (!fw.getName().startsWith("getFw")) { continue; } Integer weight = (Integer) fw.invoke(this); if (weight != null && weight != 0) { String numberOfField = fw.getName().split("getFw")[1]; String fValueCode = (String) Template.class.getMethod("getF" + numberOfField).invoke(this); specCode.append(StringUtils.defaultIfEmpty(fValueCode, "-")); } } } catch (Exception e) { logger.error("Error during Specification code generation", e); } return specCode.toString(); } }