<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Code Generation</title>
</head>
<body>
<h1>The different ways to generate code</h1>
<p>The code generation is defined through two radio buttons and two check boxes.<br/>
<img src="../pic/generationButtons.png"/><br/>
Not all combinations are possible.</p>
<p>Template: The generation process is driven by the use of Java Emitter Templates<br/>
Generation: The generation process generates all needed artefacts - no templates are used
(but may be generated as an artefact)<br/>
Jet: Generate the code through Java Emitter Templates<br/>
AST: Generate the code by use of Abstract Syntax Tree generation</p>
<p>The following combinations are allowed:</p>
<ul>
<li>Template + Jet: Use a Java Emitter template to generate the Java source class (this is
the simpliest way).</li>
<li>Template + Jet + AST: Use a Java Emitter template to generate the Java source class and
improve the result through AST means.</li>
<li>Generation + Jet: Generate a temporary Java Emitter template that is used to generate
the source class.</li>
<li>Generation + AST: Generate the source class by defining an Abstract Syntax Tree for the class
from scratch.</li>
<li>Generation + Jet + AST: Generate a temporary Java Emitter template that is used to generate
the source class and improve the result through AST means.</li>
</ul>
</body>
</html>