Fast as hand-written code with zero compromise.
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
Below it is shown the same configuration in the three types allowed
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...
} }
<jmapper>
<class name="it.jmapper.bean.Destination">
<attribute name="id">
<value name="id"/>
</attribute>
<attribute name="destinationField">
<value name="sourceField">
</attribute>
</class>
</jmapper>
JMapperAPI jmapperAPI = new JMapperAPI()
.add(mappedClass(Destination.class)
.add(attribute("id")
.value("id"))
.add(attribute("destinationField")
.value("sourceField")));
JMapper<Destination, Source> mapper;
mapper = new JMapper<>(Destination.class, Source.class);
mapper = new JMapper<>(Destination.class, Source.class, xml);
mapper = new JMapper<>(Destination.class, Source.class, jmapperAPI);
Source source = new Source("id", "sourceField", "other");
Destination destination = mapper.getDestination(source);
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 8+
Would you like to contribute to the development of JMapper?
contact us ([email protected]) for more information.