Jamon is a text template engine for Java that is useful for generating dynamic HTML, XML, or any text-based content. It has a rich feature set that supports encapsulation, parameterization, functional decomposition, and reuse of presentation logic. Because it is compiled to non-reflective Java code, and statically type-checked, Jamon is ideally suited to supporting refactoring of template-based UI applications. Templates declare the arguments they require for rendering, including dynamic template content ("fragments"), and are translated into Java classes with public methods whose signatures reflect the arguments declared in the templates. This provides compile-time type- checking as well as excellent performance.