Elegance, high performance and robustness all in one java bean mapper
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
JMapper Framework
.travis.yml Update .travis.yml Apr 30, 2015
LICENSE
README.md

README.md

JMapper Framework Join the chat at https://gitter.im/jmapper-framework/jmapper-core Donate

Fast as hand-written code with zero compromise.

Artifact information

Maven Central Javadocs Dependency Status

Status

Codacy Badge Build Status

Write the configuration using what you prefer: Annotation, XML or API.

Most relevant features:

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+

Would you like to contribute to the development of JMapper?
contact us (jmapper.framework@gmail.com) for more information.

Follow us on twitter