You can save a lot of daily business coding time by using “Entity DSL”. It is designed to support your daily development work and to automate parts of the development cycle.
“Entity DSL” has two main goals:
- Define your domain model that represents your business.
- Compile the model to java code.
Currently “Entity DSL” provides two different types of compilers:
- “Pojo compiler” – It compiles the model to simple pojos that can be used without any further dependency to 3rd part libraries. Just JRE is required.
- “JPA entities compiler” – It generates JPA entities by using of well defined defaults, which are depending on the underlying semantic elements.
The semantics of the “Entity DSL grammar” was carefully designed. It includes parts of Xcore and Xtend. The main objective concerning the grammar was the definition of easy understandable and very expressive semantic elements. The use of these elements should be very intuitive and useable by everyone after a short time of study.
And as the semantics about references from “Entity DSL” is based on the ideas of Ecore, anybody who knows Ecore understands the different reference types immediatelly. But we also added some additional semantic stuff to increases the expressibility of the semantic. For instance we can additionally define “embedded entities”, “lazy loading”, “cachable elements”, “compiler types”,…
It’s just a model
- It is important to know, that the DSL, the defined grammar with its semantics and tooling just defines a model! Just a model about your domain. And of course, you can use “Entity DSL” as a simple modeling tool to define an entity model that represents your business objectives.
- But it is also important to know, that the Built-In-Compilers can be used to interpret a given model to a java representation. For instance a “Simpel pojo representation” or an “JPA representation”.
- And it is also important to know, that Xtext offers possiblities to write your own interpretation of the “Entity model”. What about an automatically generated documentation in French? Just feel free to use the model the way you want.
Just have a look at the amazing demo movie. It shows the core functions of the entity DSL.
Use this link for High definition – EntityDSL HD
Just 2 images
The entity dsl code defined here…
… compiles to java
Using DSLs for well defined approaches may save a lot of time for coding. And additionally the code quality can be increased since same requirements will result in same code.
Just give it a try…