General

What is Generama?

It's a generic code generation framework based on Velocity and Jelly.

What does it buy me over using Velocity or Jelly directly?
  • No needed configuration of the said template engines.
  • A plugin framework.
  • An Ant task.
  • IDE plugins.
  • An MVC model.
What's this plugin framework?

You can for example extend VelocityPlugin and write an associated script and jar them up in a jar (only two files required). Then register them with Generama, and you're ready to go.

How do I descide wether or not my plugin generates multiple files?

By calling the Plugin's setMultiOutput method.

How do my templates get access to metadata, like e.g. QDox JavaClass objects?

By registering a MetadataProvider in Generama that provides the desired type of objects.

What's this MVC thing. How do I do complicated stuff X?

If you need advanced functinaolity that's hard to do in Velocity or Jelly, you can implement the logic in your plugin class as a public method. You can then call the method directly from the scripts.

This is inspired of the MVC pattern. The script just renders the data provided by the plugin (and the metadata).

Installation

How do I install Generama?

You don't. It's a library. It's meant to be used as a building block in more specialised code generators like XDoclet and Middlegen.