JMapper Framework
Fast as hand-written code with zero compromise.
Write the configuration using what you prefer: Annotation, XML or API.
Most relevant features:
- One to Many and Many to One relationship
- dynamic conversions, whose body adapts to every relationship
- inherited configurations, you can split the configuration along the hierarchy
- and more..
especially its use is intuitive
Configuration
Below it is shown the same configuration in the three types allowed
Annotation
class Destination{ class Source{
@JMap
private String id; private String id;
@JMap("sourceField")
private String destinationField; private String sourceField;
private String other; private String other;
// getters and setters... // getters and setters...
} }
XML
<jmapper>
<class name="it.jmapper.bean.Destination">
<attribute name="id">
<value name="id"/>
</attribute>
<attribute name="destinationField">
<value name="sourceField">
</attribute>
</class>
</jmapper>
API
JMapperAPI jmapperAPI = new JMapperAPI()
.add(mappedClass(Destination.class)
.add(attribute("id")
.value("id"))
.add(attribute("destinationField")
.value("sourceField")));
Creation
JMapper<Destination, Source> mapper;
Annotation
mapper = new JMapper<>(Destination.class, Source.class);
XML
mapper = new JMapper<>(Destination.class, Source.class, xml);
API
mapper = new JMapper<>(Destination.class, Source.class, jmapperAPI);
Usage
Source source = new Source("id", "sourceField", "other");
Destination destination = mapper.getDestination(source);
Result
destination ["id", "sourceField", null]
With JMapper we have all the advantages of dynamic mapping with the performance of static code, with 0 memory consumption.
Required java 5+
issues status
Dependency information
For a complete guide
wiki pages
Do you like the project? think it has good potential?
Let us know any malfunctions, new features and more through the JMapper Framework group.
Do you want to contribute to the development of JMapper?
There are many features to be implemented, such as:
- Eclipse plugin
- Integration with Hibernate, Apache Camel and other frameworks
- and more..
contact us (jmapper.framework@gmail.com) for more information.
Do you want to do a friendly chat?