シンプルな Java ソース コードを生成するための Eclipse プラグインを開発します。最初に、XML ファイルを Java クラス コードに変換する必要があります。私はインターネットから Apache Velocity を見つけました。今はいくつかの簡単なもので遊んでいます。これは私の入力 XML ファイルです。
<?xml version= "1.0" encoding= "UTF-8" ?>
<Content>
<Class name= "Customer" acc_modif="public">
<attributes>
<attribute attribute_type= "String" attribute_name= "studentName" attribute_acc_modifer="public"/>
<attribute attribute_type= "int" attribute_name= "age" attribute_acc_modifer="public"/>
</attributes>
<constructors>
<constructor con_acc_modifer="public" con_name="Student">
<para para_type="String" para_name="studentName"/>
<para para_type="int" para_name="age"/>
</constructor>
<constructor con_acc_modifer="public" con_name="Student">
<para para_type="String" para_name="studentName"/>
<para para_type="int" para_name="age"/>
</constructor>
</constructors>
</Class>
</Content>
そして、これは私のテンプレートファイルです:
## class .vm
##apachi-3
import java.util.*;
$class.acc_modif class $class.name {
#foreach ( $att in $class.attributes )
$att.attribute_acc_modifer $att.attribute_type $att.attribute_name;
#end
#foreach ( $con in $class.constructors )
$con.con_acc_modifer $con.con_name ( $con.para_type $con.para_name ) { ## Not working :(
}
#end
}
そして、出力は次のようになりました。
import java.util.*;
public class Customer {
public String studentName;
public int age;
public Student ( $con.para_type $con.para_name ) { }
public Student ( $con.para_type $con.para_name ) { }
}
学生コンストラクターが機能していません。「$con.para_type $con.para_name」の代わりに括弧内に別のループを使用する必要があると思いますが
、ここで別のループを使用する方法がわかりません (私は Apache Velocity の初心者です)。
速度教祖、助けてください!