Why Compozitor?

Enjoy the history of Compozitor and why we created it.

The History

Compozitor is a solution that has more than a decade of use in various sets of projects. Of course, some pieces of functionalities and code have been transformed and refactored since its creation.

So, why the version is 0.1.x? Because Compozitor was a private solution, but the author decided to open its source code and contribute back to the community.

Right now, Compozitor is helping developers to be more productive thanks to its capabilities of code generation based on Annotation Processing and for having a strong and very concise template engine backed by Apache Velocity.

In this documentation, we want to help you identify opportunities you can have in your own projects and how to help your team to be more productive too.

How Compozitor can help you?

When we decided to create Compozitor, the main objective was to reduce repetitive tasks on the developer's side. You can combine Compozitor with other tools and libraries like reverse engineering from database or source code in a target language. Actually, even Compozitor being a Java project you can generate any kind of result in any computer language.

Giving you some examples of use, developers used Compozitor to generate SQL instructions, Persistence Classes, Documentation files based on Java source code. Another example is to generate Java classes from tables in a database and so on. Let your imagination decide what you can do with an easy, simple and powerful API.

Key Features

  • Template Engine Builders

  • Embedded Directives for reusability

  • Directive and Macros API

  • Custom template loaders

  • Composite class loaders

  • Generate code by category and criteria

  • Simple and powerful Meta Model API

  • Built-in ANSI SQL Generator

  • Integrated Template Engine

  • Java Service based on interfaces or super classes with traversal options

  • Built-in Java Service Processor through annotation

  • Modern and easy-to-use Annotation Processing API

  • Processor Engine API and Lifecycle

  • Type, Method and Field Plug-ins

  • Code Generation Category Plug-in

  • Template and Template Engine Plug-in

  • Compilation Builder with Assertion API

  • Easy test isolation through Test Resources API

Using Compozitor in your project

Since Compozitor is a modular project and you can use each module apart, consider importing the parent pom in your project as a managed dependency, and import what you need as a dependency. Each module mentioned earlier describes in its documentation section which dependency you need to import.

Last updated

Was this helpful?