xml
<class>
<name>Person</name>
<fields>
<field>
<name>id</name>
<type>Long</type>
</field>
<field>
<name>name</name>
<type>String</type>
</field>
<field>
<name>age</name>
<type>int</type>
</field>
</fields>
</class>
java
public class $name {
#foreach ($field in $fields)
private $field.type $field.name;
#end
#foreach ($field in $fields)
public $field.type get$field.name.substring(0,1).toUpperCase()$field.name.substring(1)() {
return $field.name;
}
public void set$field.name.substring(0,1).toUpperCase()$field.name.substring(1)($field.type $field.name) {
this.$field.name = $field.name;
}
#end
}
java
public class CodeGenerator {
public static void main(String[] args) {
Metadata metadata = readMetadata("person.xml");
Template template = readTemplate("pojo.vm");
String code = fillTemplate(template, metadata);
System.out.println(code);
}
private static Metadata readMetadata(String filePath) {
// ...
}
private static Template readTemplate(String filePath) {
// ...
}
private static String fillTemplate(Template template, Metadata metadata) {
// ...
}
}