[ xlsgen ]
$_sys.load("wu", "org.apache.commons.lang.WordUtils") $_xml.build("doc", "scott_tiger.xml") #macro(jtype $dbtype) #if($dbtype == "TEXT") #set($jtype = "String") #elseif($dbtype == "INTEGER") #set($jtype = "Integer") #elseif($dbtype == "DECIMAL") #set($jtype = "java.math.BigDecimal") #elseif($dbtype == "TIMESTAMP") #set($jtype = "java.util.Date") #end #end #set($root = $doc.rootElement) #foreach($child in $root.children) #if($child.name == "table") #set($tname = $child.getChildText("name")) #set($clsname = $wu.capitalizeFully($tname)) #set($cols = ${child.getChild("declaration").children}) public class $clsname { #foreach($col in $cols) #set($name = $col.getChildText("name")) #set($prop = $name.toLowerCase()) #set($cprop = $wu.capitalizeFully($prop)) #set($dbtype = $col.getChildText("type")) #jtype($dbtype) ///////////////////////////////////////////////////////////////// // $name private $jtype $prop; /** * $nameを取得する。 * * @return $name */ public $jtype get${cprop}() { return $prop; } /** * $nameをセットする。 * * @param $prop $name */ public void set${cprop}($jtype $prop) { this.$prop = $prop; } #end } $_wrt.out("${clsname}.java") #end #end
<?xml version="1.0" encoding="ISO-8859-1" ?> <database> <name>myoracle</name> <create>1</create> <table> <name>BONUS</name> <declaration> <field> <name>ENAME</name> <type>TEXT</type> <default></default> <notnull>0</notnull> </field> <field> <name>JOB</name> <type>TEXT</type> <default></default> <notnull>0</notnull> </field> <field> <name>SAL</name> <type>INTEGER</type> <default></default> <notnull>0</notnull> </field> <field> <name>COMM</name> <type>INTEGER</type> <default></default> <notnull>0</notnull> </field> </declaration> <initialization> </initialization> </table> <table> <name>DEPT</name> <declaration> <field> <name>DEPTNO</name> <type>DECIMAL</type> <default></default> <notnull>1</notnull> </field> <field> <name>DNAME</name> <type>TEXT</type> <default></default> <notnull>0</notnull> </field> <field> <name>LOC</name> <type>TEXT</type> <default></default> <notnull>0</notnull> </field> <index> <name>PRIMARY</name> <unique>1</unique> <field> <name>DEPTNO</name> </field> </index> </declaration> <initialization> </initialization> </table> <table> <name>EMP</name> <declaration> <field> <name>EMPNO</name> <type>DECIMAL</type> <default></default> <notnull>1</notnull> </field> <field> <name>ENAME</name> <type>TEXT</type> <default></default> <notnull>0</notnull> </field> <field> <name>JOB</name> <type>TEXT</type> <default></default> <notnull>0</notnull> </field> <field> <name>MGR</name> <type>DECIMAL</type> <default></default> <notnull>0</notnull> </field> <field> <name>HIREDATE</name> <type>TIMESTAMP</type> <default></default> <notnull>0</notnull> </field> <field> <name>SAL</name> <type>DECIMAL</type> <default></default> <notnull>0</notnull> </field> <field> <name>COMM</name> <type>DECIMAL</type> <default></default> <notnull>0</notnull> </field> <field> <name>DEPTNO</name> <type>DECIMAL</type> <default></default> <notnull>0</notnull> </field> <index> <name>PRIMARY</name> <unique>1</unique> <field> <name>EMPNO</name> </field> </index> </declaration> <initialization> </initialization> </table> <table> <name>SALGRADE</name> <declaration> <field> <name>GRADE</name> <type>INTEGER</type> <default></default> <notnull>0</notnull> </field> <field> <name>LOSAL</name> <type>INTEGER</type> <default></default> <notnull>0</notnull> </field> <field> <name>HISAL</name> <type>INTEGER</type> <default></default> <notnull>0</notnull> </field> </declaration> <initialization> </initialization> </table> </database>
public class Bonus { ///////////////////////////////////////////////////////////////// // ENAME private String ename; /** * ENAMEを取得する。 * * @return ENAME */ public String getEname() { return ename; } /** * ENAMEをセットする。 * * @param ename ENAME */ public void setEname(String ename) { this.ename = ename; } ///////////////////////////////////////////////////////////////// // JOB private String job; /** * JOBを取得する。 * * @return JOB */ public String getJob() { return job; } /** * JOBをセットする。 * * @param job JOB */ public void setJob(String job) { this.job = job; } ///////////////////////////////////////////////////////////////// // SAL private Integer sal; /** * SALを取得する。 * * @return SAL */ public Integer getSal() { return sal; } /** * SALをセットする。 * * @param sal SAL */ public void setSal(Integer sal) { this.sal = sal; } ///////////////////////////////////////////////////////////////// // COMM private Integer comm; /** * COMMを取得する。 * * @return COMM */ public Integer getComm() { return comm; } /** * COMMをセットする。 * * @param comm COMM */ public void setComm(Integer comm) { this.comm = comm; } }
public class Dept { ///////////////////////////////////////////////////////////////// // DEPTNO private java.math.BigDecimal deptno; /** * DEPTNOを取得する。 * * @return DEPTNO */ public java.math.BigDecimal getDeptno() { return deptno; } /** * DEPTNOをセットする。 * * @param deptno DEPTNO */ public void setDeptno(java.math.BigDecimal deptno) { this.deptno = deptno; } ///////////////////////////////////////////////////////////////// // DNAME private String dname; /** * DNAMEを取得する。 * * @return DNAME */ public String getDname() { return dname; } /** * DNAMEをセットする。 * * @param dname DNAME */ public void setDname(String dname) { this.dname = dname; } ///////////////////////////////////////////////////////////////// // LOC private String loc; /** * LOCを取得する。 * * @return LOC */ public String getLoc() { return loc; } /** * LOCをセットする。 * * @param loc LOC */ public void setLoc(String loc) { this.loc = loc; } ///////////////////////////////////////////////////////////////// // PRIMARY private String primary; /** * PRIMARYを取得する。 * * @return PRIMARY */ public String getPrimary() { return primary; } /** * PRIMARYをセットする。 * * @param primary PRIMARY */ public void setPrimary(String primary) { this.primary = primary; } }
public class Emp { ///////////////////////////////////////////////////////////////// // EMPNO private java.math.BigDecimal empno; /** * EMPNOを取得する。 * * @return EMPNO */ public java.math.BigDecimal getEmpno() { return empno; } /** * EMPNOをセットする。 * * @param empno EMPNO */ public void setEmpno(java.math.BigDecimal empno) { this.empno = empno; } ///////////////////////////////////////////////////////////////// // ENAME private String ename; /** * ENAMEを取得する。 * * @return ENAME */ public String getEname() { return ename; } /** * ENAMEをセットする。 * * @param ename ENAME */ public void setEname(String ename) { this.ename = ename; } ///////////////////////////////////////////////////////////////// // JOB private String job; /** * JOBを取得する。 * * @return JOB */ public String getJob() { return job; } /** * JOBをセットする。 * * @param job JOB */ public void setJob(String job) { this.job = job; } ///////////////////////////////////////////////////////////////// // MGR private java.math.BigDecimal mgr; /** * MGRを取得する。 * * @return MGR */ public java.math.BigDecimal getMgr() { return mgr; } /** * MGRをセットする。 * * @param mgr MGR */ public void setMgr(java.math.BigDecimal mgr) { this.mgr = mgr; } ///////////////////////////////////////////////////////////////// // HIREDATE private java.util.Date hiredate; /** * HIREDATEを取得する。 * * @return HIREDATE */ public java.util.Date getHiredate() { return hiredate; } /** * HIREDATEをセットする。 * * @param hiredate HIREDATE */ public void setHiredate(java.util.Date hiredate) { this.hiredate = hiredate; } ///////////////////////////////////////////////////////////////// // SAL private java.math.BigDecimal sal; /** * SALを取得する。 * * @return SAL */ public java.math.BigDecimal getSal() { return sal; } /** * SALをセットする。 * * @param sal SAL */ public void setSal(java.math.BigDecimal sal) { this.sal = sal; } ///////////////////////////////////////////////////////////////// // COMM private java.math.BigDecimal comm; /** * COMMを取得する。 * * @return COMM */ public java.math.BigDecimal getComm() { return comm; } /** * COMMをセットする。 * * @param comm COMM */ public void setComm(java.math.BigDecimal comm) { this.comm = comm; } ///////////////////////////////////////////////////////////////// // DEPTNO private java.math.BigDecimal deptno; /** * DEPTNOを取得する。 * * @return DEPTNO */ public java.math.BigDecimal getDeptno() { return deptno; } /** * DEPTNOをセットする。 * * @param deptno DEPTNO */ public void setDeptno(java.math.BigDecimal deptno) { this.deptno = deptno; } ///////////////////////////////////////////////////////////////// // PRIMARY private java.math.BigDecimal primary; /** * PRIMARYを取得する。 * * @return PRIMARY */ public java.math.BigDecimal getPrimary() { return primary; } /** * PRIMARYをセットする。 * * @param primary PRIMARY */ public void setPrimary(java.math.BigDecimal primary) { this.primary = primary; } }
public class Salgrade { ///////////////////////////////////////////////////////////////// // GRADE private Integer grade; /** * GRADEを取得する。 * * @return GRADE */ public Integer getGrade() { return grade; } /** * GRADEをセットする。 * * @param grade GRADE */ public void setGrade(Integer grade) { this.grade = grade; } ///////////////////////////////////////////////////////////////// // LOSAL private Integer losal; /** * LOSALを取得する。 * * @return LOSAL */ public Integer getLosal() { return losal; } /** * LOSALをセットする。 * * @param losal LOSAL */ public void setLosal(Integer losal) { this.losal = losal; } ///////////////////////////////////////////////////////////////// // HISAL private Integer hisal; /** * HISALを取得する。 * * @return HISAL */ public Integer getHisal() { return hisal; } /** * HISALをセットする。 * * @param hisal HISAL */ public void setHisal(Integer hisal) { this.hisal = hisal; } }