Bidjic file to file
Description
Generates one output file from one input model.
+---+ +---+ | | +---> | | | | | | +---+ +---+
Bidjic task parameters
|Attribute | Description | Value | Required | |-----------|-----------------------|---------------------|---------------| |file | inpput file | <filename>.<bidji*> | yes | |tofile | output file | <filename>.<mime> | yes | |overwrite | overwrite output file | true by default | no |
Example
Generates Java POJO classes from a Model driven architecture abstraction: the bidjim entity.
download file2file.tgz sample.
ant file : build.xml
<target name="pojo" description="generate pojo classes"> <bidjic file="MyPackage/MyModule/Foo.bidjim" tofile="gen/Foo.java" template="templates/bidjim2pojo.ftl" overwrite="true" /> </target>
template: bidjim2pojo.ftl
[#assign entity = bidji.entity] package com.mycompany.${package}.${module}; /** * ${Model}, generated with bidjim2pojo.ftl **/ public class ${Model} { [#foreach property in entity.property] private ${property.@type} _${property.@name}; [/#foreach] /** * Constructor for a ${Model} Object. **/ public ${Model}(){ } [#foreach property in entity.property] public ${property.@type?replace('Integer','int')} get${property.@name?cap_first}() { return this._${property.@name}; } public void set${property.@name?cap_first}(${property.@type?replace('Integer','int')} ${property.@name}) { this._${property.@name} = ${property.@name}; } [/#foreach] }
model: MyPackage/MyModule/Foo.bidjim
<?xml version="1.0"?> <bidji> <entity name="Foo"> <property name="id" type="Integer" /> <property name="name" type="String" /> </entity> </bidji>
result: Foo.java
package com.mycompany.mypackage.mymodule; /** * Foo, generated with bidjim2pojo.ftl **/ public class Foo { private int _id; private String _name; /** * Constructor for a Foo Object. **/ public Foo(){ } public int getId() { return this._id; } public void setId(int id) { this._id = id; } public String getName() { return this._name; } public void setName(String name) { this._name = name; } }