jaCG is as it says jet another code generator. I know it should be "yet" not "jet" but there are three reasons for this. It says all about my english (i am a german developer), it is written in java and this way it shares the same starting letter and there are so many project with ya...
The history of jaCG starts in 2000 and in 2009 i made this release. During this release i used jaCG in many projects and it grows up. I think it could be useful in your project to. The main reason for still using jaCG while there are so many other code generator frameworks is: Because it is very simple to use (at least for me :-) Nevertheless it has all features you may need:
For questions please look at http://jacg.sourceforge.net
There are several examples to demonstrate the use of jaCG. Go to the example folder and start ant with argument example-N to start the example-N. Read the REAMDE.TXTs in the examples folder.