Overview

Jenesis allows you to dynamically create .java files. The design of the API mimics the design of the Java Language Syntax. Therefore, to be proficient with Jenesis it helps enormously to have some understanding of the terms associated with syntactic elements such as "statement", "expression", "literal", "type", etc... Each of these words has a specific meaning. To learn more about this you should read the Java Language Specification.

Each syntax element is modeled with an interface. All the interfaces are in the org.inxar.jenesis.* package. Therefore, this is the only package you need to study to use Jenesis. All other packages consist of the implementation of those interfaces, which you never directly see.

The reason you never see the implementation is that all object construction is done using factory methods. You will not need the new operator at all when using Jenesis. This hides the details from you and allows you to concentrate on just learning the interfaces.