GeDA - Generic DTO Assembler is a small, handy library specially designed to help developer assemble DTO's from Domain objects and update the Domain objects from DTO's in an n-tier applications.
The rationale for its existence was overhead of creating DTO Assemblers in an n-tier application to pass information within domain object to UI through DTO's (Data Transfer Objects).
The basic principle of the above application design is to extract the necessary information from the domain objects in the form of DTO's. In reality this involves a tedious get/set method calls that look very much the same for most of the objects.
GeDA uses Java5's annotations in order to map DTO's onto paths of the Domain object properties (the reflection method). Thus the annotated DTO's can be examined by a Generic DTO Assembler that will create specific instance of the assembler for the DTO is respect to a Domain object.
The assembler is basically a placeholder for so called "data pipes" that allow transferring data from/to domain object's field.