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;
    }

}