Skip to content
Marco Rose edited this page Jun 25, 2015 · 41 revisions

CobiGen - Code-based incremental Generator

What is CobiGen?

CobiGen is a generic incremental generator for generation tasks in Java projects. Due to a template-based generation approach, CobiGen is able to generate any text-based documents and document fragments. All CobiGen needs is a valid input file like a Java class and templates that specifies the text to be generated. See our CobiGen applications for examples what CobiGen could do for you and your project!

Input:

  • Java classes

  • …​ possibly more inputs like wsdl, which is currently not implemented.

Output:

  • any text-based document or document fragments depending on template

Features & Characteristics

  • Generate fresh files across all the layers of a application - ready to run.

  • Add on to existing files merging code into it. E.g. generate new methods into existing java classes or adding nodes to an XML file. Merging of contents into existing files will be done using structural merge mechanisms.

  • Structural merge mechanisms are currently implemented for Java, XML, Java Property Syntax.

  • Conflicts can be resolved individually but automatically by former configuration for each template.

  • CobiGen provides a Eclipse integration.

  • CobiGen comes with an extensive documentation for users and developers.

Current and past CobiGen applications (a selection)

  • Generation of a Java CRUD application based on OASP4 architecture including all software-layers on the server plus code for js-clients (AngularJs + SenchaJs). You can find details here.

  • Generation of a Java CRUD application according to the Register Factory architecture. Hibernate entities were the input for the generation.

  • Generation of an additional Java type hierarchy on top of existing Java classes in combination with additional methods to be integrated in the modified classes. Input and output were also here the Hibernate entites.

  • Generation of hash- and equals-methods as well as copy constructors dependending on the field types of the input Java class. Furthermore CobiGen is able to re-generate these methods/constructors triggered by the user, i.e, when fields have been changed.

  • Generation of builder classes for generating testdata for JUnit-Tests. Input are the Hibernate entities.

  • Extraction of JavaDoc of test classes and their methods for generating an csv document. Afterwards this document can be opened in Excel for further test documentation and maintenance.

Clone this wiki locally