Version 1 of the Daileon framework can be downloaded here.
This version includes two main functionalities: it allows domain annotations to be used with new frameworks, and also with existing ones.
In order to provide the functionality of allowing domain annotations to be used with existing frameworks that do not support the concept, Daileon uses version 1.5.3 of the ASM framework, in order to manipulate the bytecodes that correspond to each domain annotation, so that they are translated to their corresponding annotations before the application is run. Click here to go to ASM's framework web site.
One limitation of this version is that, in order to use domain annotations with existing frameworks, the source code of the domain annotations have to be located in the same directory as the project. For instance, currently, it is still not possible to reuse domain annotations that are inside a .jar file.
Another limitation of this version is that, in order to work, the rules imposed by the underlying framework have to be followed. For instance, in order to create a EJB3 Stateless Session Bean, the user must create an interface, annotate it with @javax.ejb.Local or @javax.ejb.Remote, create a class, annotate it with @javax.ejb.Stateless and have it implement the interface. Therefore, if the user does not create an interface, annotate it with a domain annotation, create a class that is annotated with a domain annotation and that implements the interface, it is not possible to correctly transform it to a EJB3 Stateless Session Bean. Future versions of the framework will provide the capability to define rules, so the user can create a class, annotate it with a domain annotations, and have the framework perform all transformations required, so it can run correctly following the rules of a particular framework.
For more information about how to use domain annotations, click here to go to the Tutorial page, or here to get the papers that address domain annotations that were published in international conferences.
The source code of Daileon 1.0 can be downloaded here.
Note: Daileon requires files asm-1.5.3.jar and asm-attrs-1.5.3.jar to be in the class path. These files can be downloaded here.