Interfaces and support class for code generation. Class that generate code will implement one or more of the interfaces derived from {@link CodeGenerator CodeGenerator}.