EMFT Texo: different from EMF code generation?
Texo is an EMF variant which provides real pojo/JPA entity generation from ecore/xsd models.
The main difference with EMF is that the generated code does not contain any framework specific constructs. The code can be serialized, persisted etc. in standard frameworks (EclipseLink, Hibernate, GWT) without additional layers. This in contrast to EMF which for example requires a solution like Teneo at runtime to take care of persistence in Hibernate.
Still, eventhough Texo follows a different solution path than EMF, much of the same functionality is supported:
- XML/XMI serialization
- supports for many XSD constructs (xsd:choice for example)
- runtime model access
- safe bi-directional associations
- supports manual changes in generated code (same pattern as EMF)
Different from EMF, Texo supports this functionality by externalizing the framework specific constructs in separate generated (optional) classes. The generated entities are not ‘polluted’ with framework constructs.
In addition to the above Texo also adds new features not provided by EMF:
- generation of JPA annotated code (with manual merging)
- flexible code generation (extendable, support for list/set, etc.)
- java annotations from model to code
Texo is targeted at the server side of web server/service environments. The current development focuses on extending the Texo runtime with generated REST XML/XMI webservices.