Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another.

Related tags

Bean Mapping dozer
Overview

Build Status Release Version License Code Quality: Java Total Alerts

Dozer

Active Contributors

We are always looking for more help. The below is the current active list:

Core

  • @garethahealy
  • @orange-buffalo
  • ??

Protobuf

  • @jbq
  • @garethahealy
  • ??

Spring4 / Springboot

  • @vadeg
  • @garethahealy
  • ??

Why Map?

A mapping framework is useful in a layered architecture where you are creating layers of abstraction by encapsulating changes to particular data objects vs. propagating these objects to other layers (i.e. external service data objects, domain objects, data transfer objects, internal service data objects).

Mapping between data objects has traditionally been addressed by hand coding value object assemblers (or converters) that copy data between the objects. Most programmers will develop some sort of custom mapping framework and spend countless hours and thousands of lines of code mapping to and from their different data object.

This type of code for such conversions is rather boring to write, so why not do it automatically?

What is Dozer?

Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another, it is an open source mapping framework that is robust, generic, flexible, reusable, and configurable.

Dozer supports simple property mapping, complex type mapping, bi-directional mapping, implicit-explicit mapping, as well as recursive mapping. This includes mapping collection attributes that also need mapping at the element level.

Dozer not only supports mapping between attribute names, but also automatically converting between types. Most conversion scenarios are supported out of the box, but Dozer also allows you to specify custom conversions via XML or code-based configuration.

Getting Started

Check out the Getting Started Guide, Full User Guide or GitBook for advanced information.

Getting the Distribution

If you are using Maven, simply copy-paste this dependency to your project.

<dependency>
    <groupId>com.github.dozermapper</groupId>
    <artifactId>dozer-core</artifactId>
    <version>6.5.0</version>
</dependency>

Simple Example

<mapping>
  <class-a>yourpackage.SourceClassName</class-a>
  <class-b>yourpackage.DestinationClassName</class-b>
    <field>
      <a>yourSourceFieldName</a>
      <b>yourDestinationFieldName</b>
    </field>
</mapping>
SourceClassName sourceObject = new SourceClassName();
sourceObject.setYourSourceFieldName("Dozer");

Mapper mapper = DozerBeanMapperBuilder.buildDefault();
DestinationClassName destObject = mapper.map(sourceObject, DestinationClassName.class);

assertTrue(destObject.getYourDestinationFieldName().equals(sourceObject.getYourSourceFieldName()));
Comments
  • Mapping of java.time.LocalDate ... not working

    Mapping of java.time.LocalDate ... not working

    Using dozer and Java 1.8 in combination with the new Date-API causes a problem in case of LocalDate (oder LocalDateTime) properties. There are no out-of-the-box converters for these new Objects.

    In case you want to map these objects, dozer throws the following exception:

    caused by: java.lang.NoSuchMethodException: java.time.LocalDate.()
        at java.lang.Class.getConstructor0(Class.java:2971) ~[na:1.8.0_05]
        at java.lang.Class.getDeclaredConstructor(Class.java:2165) ~[na:1.8.0_05]
        at org.dozer.factory.ConstructionStrategies$ByConstructor.newInstance(ConstructionStrategies.java:272) ~[dozer-5.5.1.jar:na]
    
    enhancement waiting-on-feedback 
    opened by danielplappert 33
  • Dozer mapping stops working

    Dozer mapping stops working

    After a short amount of time (varies between hours up to one day), dozer mapping stop working with

    org.dozer.MappingException: java.lang.NoSuchMethodException: Unable to determine write method for Field: 'xxxxx' in Class: class a.b.c.FooBar at org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:82) at org.dozer.propertydescriptor.GetterSetterPropertyDescriptor.invokeWriteMethod(GetterSetterPropertyDescriptor.java:261) at org.dozer.propertydescriptor.GetterSetterPropertyDescriptor.setPropertyValue(GetterSetterPropertyDescriptor.java:101) at org.dozer.fieldmap.FieldMap.writeDestValue(FieldMap.java:94) at org.dozer.MappingProcessor.writeDestinationValue(MappingProcessor.java:870) at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:337) at org.dozer.MappingProcessor.mapField(MappingProcessor.java:276) at org.dozer.MappingProcessor.map(MappingProcessor.java:245) at org.dozer.MappingProcessor.map(MappingProcessor.java:187) at org.dozer.MappingProcessor.map(MappingProcessor.java:124) at org.dozer.MappingProcessor.map(MappingProcessor.java:119) at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:111)

    This is Dozer 5.3.2 on Java 1.7, but happens with 5.4.x also. It's never the same target class or field that fails.

    This was already reported here: http://sourceforge.net/p/dozer/bugs/372/

    opened by heneke 32
  • It's hardly possible to use dozer in OSGi

    It's hardly possible to use dozer in OSGi

    OSGi is highly modular environment and there are a lot of OSGi containers like apache-karaf, apache-servicemix, jboss, eclipse virgo, paremus service fabric, etc.

    These containers behave like application containers, i.e. we are able to deploy OSGi bundles like ordinary applications into them.

    It's often necessary to have separate applications which use conversions (by means of dozer) and which must be isolated, versioned, etc. So they need completely separate dozer configurations per bundle.

    Currently it's hardly possible because of class loading issues and a lot of singletons (DozerInitializer, GlobalSettings, BeanContainer, GlobalStatistics, etc.) in the dozer. That means that all these singletons are shared across all OSGi bundles. It's also hardly possible to specify correct classloader of the bundle (because BeanContainer is singleton).

    It's seems that some kind of refactoring is needed to remove all these singletons.

    Will the dozer be supported in the future? It seems that these great project becomes not very active.

    enhancement 
    opened by szhem 16
  • FileNotFoundException: ServletContext resource [/classpath*:dozer/*dozer.xml] cannot be resolved to URL because it does not exist

    FileNotFoundException: ServletContext resource [/classpath*:dozer/*dozer.xml] cannot be resolved to URL because it does not exist

    Springcloud projects start error reporting.

    Whats your runtime?

    • Dozer version: 6.4.0_
    • OS version: __mac os 10.13.4 ___
    • JDK version: 8_
    • SpringBoot version: 2.0.0.RELEASE
    • SpringCloud version: Finchley.M8

    Whats the problem?

    1, pom

            <dependency>
                <groupId>com.github.dozermapper</groupId>
                <artifactId>dozer-core</artifactId>
                <version>6.4.0</version>
            </dependency>
            <dependency>
                <groupId>com.github.dozermapper</groupId>
                <artifactId>dozer-spring-boot-starter</artifactId>
                <version>6.4.0</version>
            </dependency>
    

    2 application.yml,

    dozer:
      mappingFiles: classpath*:dozer/*.dozer.xml
    

    3, mapping file :

     src/main/resources/dozer/global.dozer.xml
    

    Observed Results:

    Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.github.dozermapper.spring.DozerBeanMapperFactoryBean]: Factory method 'dozerMapper' threw exception; nested exception is java.io.FileNotFoundException: ServletContext resource [/classpath*:dozer/*dozer.xml] cannot be resolved to URL because it does not exist
    	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
    	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:579)
    	... 45 common frames omitted
    Caused by: java.io.FileNotFoundException: ServletContext resource [/classpath*:dozer/*dozer.xml] cannot be resolved to URL because it does not exist
    	at org.springframework.web.context.support.ServletContextResource.getURL(ServletContextResource.java:174)
    	at com.github.dozermapper.spring.DozerBeanMapperFactoryBean.setMappingFiles(DozerBeanMapperFactoryBean.java:81)
    	at com.github.dozermapper.springboot.autoconfigure.DozerAutoConfiguration.dozerMapper(DozerAutoConfiguration.java:58)
    	at com.github.dozermapper.springboot.autoconfigure.DozerAutoConfiguration$$EnhancerBySpringCGLIB$$c8b0337d.CGLIB$dozerMapper$0(<generated>)
    	at com.github.dozermapper.springboot.autoconfigure.DozerAutoConfiguration$$EnhancerBySpringCGLIB$$c8b0337d$$FastClassBySpringCGLIB$$2d9afb47.invoke(<generated>)
    	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361)
    	at com.github.dozermapper.springboot.autoconfigure.DozerAutoConfiguration$$EnhancerBySpringCGLIB$$c8b0337d.dozerMapper(<generated>)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
    	... 46 common frames omitted
    
    waiting-on-feedback 
    opened by zuihou 14
  • Mapping from Map.class to Object not working as expected

    Mapping from Map.class to Object not working as expected

    Are you in the right place?

    • For issues or feature requests related to the code in this repository file a Github issue.
    • For general technical questions, post a question on Google Groups.

    Whats your runtime?

    • Dozer version: 5.5.1
    • OS version: window10
    • JDK version: 1.8

    Whats the problem?

    Steps to reproduce:

    1. public class A { private String date; private String cmd; private String vNum; // getter setter toString }
    2. build a map Map<String, String> map = new HashMap<>(); map.put("date", "2018-04-03"); map.put("cmd", "opt"); map.put("vNum", "123456")
    3. dozer map operation DozerBeanMapper dozer = new DozerBeanMapper(); A a = dozer.map(map, A.class);

    Observed Results:

    What happened? This could be a description, log output, etc.

    Expected Results:

    What did you expect to happen? I want a = {date=2018-04-03, cmd=opt, vNum=123456} but a = {date=2018-04-03, cmd=opt, vNum=}

    Link to GitHub repo with Unit test

    The easiest way for us to fix issues, is if you provide a GitHub repo, using the latest release and a simple unit test.

    not-a-bug 
    opened by jsbxyyx 14
  • @Mapping(

    @Mapping("user.id") problem

    I using Dozer in my project with xml mapping but i want to used annotation and remove xml file this example show bug in annotation mapping after mapping to destination bean ,type of variable is changed from Integer to String

    for example

    public class User {
           private Integer id; 
    }
    
    public class UserBean {
           @Mapping("user.id")
           private Integer userId; 
    }
    
    userBean.getUserId()//is not Integer it is String
    

    I think one of the dozer disadvantage is in annotation annotation is very simple and changeable

    enhancement needs-triaging 
    opened by ghost 14
  • IllegalAccessException: Can not set static final long field xxx.serialVersionUID to java.lang.Long

    IllegalAccessException: Can not set static final long field xxx.serialVersionUID to java.lang.Long

    Whats your runtime?

    • Dozer version: 6.0.0
    • OS version: windows 8
    • JDK version: 1.8

    Whats the problem?

    I tried to migrate dozer version in a project from 5.5.1 to 6.0.0 and I have an error. Here is my case:

    packageA:

    Interface IA extend Serializable
    {
    [...]
    }
    
    
    Class ExampleA implement IA 
    {
    	private static final long serialVersionUID = 1L;
    	
    	[...]
    }
    
    
    Class Source 
    {
    	private IA field;
    	
    	public IA getField()
    	{
    		return field;
    	}
    
    	public void setField(IAfield)
    	{
    		this.field = field;
    	}
    }
    

    packageB:

    Interface IB extend Serializable
    {
    [...]
    }
    
    
    Class ExampleB implement IB 
    {
    	private static final long serialVersionUID = 1L;
    	
    	[...]
    }
    
    Class Destination 
    {
    	private IA field;
    	
    	public IB getField()
    	{
    		return field;
    	}
    
    	public void setField(IB field)
    	{
    		this.field = field;
    	}
    }
    

    dozer config:

    <mapping>
    	<class-a>extensionOfSource
    	</class-a>
    	<class-b>extensionOfDestination
    	</class-b>
    	<field>
    		<a>field</a>
    		<b>field</b>
    		<a-hint>ExampleA</a-hint>
    		<b-hint>ExampleB</b-hint>
    	</field>
    </mapping>
    

    In runtime, I have the following error:

    Source parent class: packageA.ExampleA Source field name: serialVersionUID Source field type: class java.lang.Long Source field value: 4925595665648744886 Dest parent class: packageB.ExampleB Dest field name: serialVersionUID Dest field type: long: org.dozer.MappingException: java.lang.IllegalAccessException: Can not set static final long field packageB.ExampleB.serialVersionUID to java.lang.Long

    Any ideas ? Bug or we need to migrate/correct a configuration ?

    possible-bug needs-triaging waiting-on-feedback 
    opened by detollenaere 13
  • Potential remote code execution via dozer's reflection-based type conversion

    Potential remote code execution via dozer's reflection-based type conversion

    Dozer uses a reflection-based approach to type conversion. If dozer is used to map attacker-supplied object instances, then the attacker can provide a dynamic proxy that implements an interface matching what dozer expects, but then use an event handler to execute all methods in that interface. As soon as dozer tries to execute any getter/setter methods, they'll trigger the event handler. So if the attacker declares an event handler like:

    EventHandler.create(Collection.class, new ProcessBuilder("/usr/bin/evince"), "start")

    Evince will be run as soon as dozer tries to map that object.

    The exploitable use case seems to be rather limited so far. There must either be an object being mapped to with a getter/setter method that matches a method in an interface on the server classpath, or a manual XML mapping that allows an attacker to force the issue. Apache Camel supports dozer, so this would be a feasible vector for processing attacker-supplied input. Camel may also allow an attacker to supply an XML mapping (I'm not sure if this is true or not), in which case this would be a pretty serious flaw (at least for Camel). There is, however, one remaining barrier to exploitation in a real-world scenario. How can an attacker provide a malicious proxy instance that survives serialization and deserialization, such that they could feasibly send it to a camel route (or other vulnerable endpoint)?

    EventHandler is not serializable, and I couldn't easily find another InvocationHandler that was serializable and would permit this kind of attack. [email protected] has been notified of this issue and has never replied.

    For more details, including a PoC exploit, please see: https://github.com/pentestingforfunandprofit/research/tree/master/dozer-rce

    possible-bug needs-triaging 
    opened by dfj 13
  • Redundant

    Redundant "org.osgi.framework" dependency in version 6.1

    Dozer v6.1 cannot be launched in OSGi environment. The bundle cannot start because it has the following dependency inside MANIFEST file:

    org.osgi.framework;version="[1.8,2)"

    But this dependency should not appear in the list at all because all the required classes from this package are already provided by osgi.core library.

    It seems that this packages is added during bundling process indirectly.

    bug 
    opened by alexey-anufriev 12
  • ClassNotFoundException when mapping com.google.protobuf.Timestamp

    ClassNotFoundException when mapping com.google.protobuf.Timestamp

    Whats your runtime?

    • Dozer version: 6.1.0
    • OS version: osx 10.12.6
    • JDK version: 1.8.144

    Whats the problem?

    Steps to reproduce:

    1. Create new dozer mapper
    2. (Optional) Create one custom converter with LocalDate and com.google.protobuf.Timestamp
    3. Call : mapper.map(new LocalDate(), Timestamp.class)

    Dozer is trying to load class: com.google.protobuf.TimestampProto.Timestamp, which doesn't exist in proto3

    ProtoUtils.java@156 return MappingUtils.loadClass(StringUtils.join( getFullyQualifiedClassName(descriptor.getMessageType().getFile().getOptions(), descriptor.getMessageType().getName()), '.'), beanContainer);

    Method: private static String[] getFullyQualifiedClassName(DescriptorProtos.FileOptions options, String name) { return new String[] { options.getJavaPackage(), options.getJavaOuterClassname(), name}; }

    Observed Results:

    Caused by: org.dozer.MappingException: java.lang.ClassNotFoundException: com.google.protobuf.TimestampProto.Timestamp from [Module "xxx:main" from local module loader @768b970c (finder: local module finder @5a4041cc (roots: /apps/jboss/modules,/apps/jboss/modules/system/layers/base))] at org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:82) [dozer-core-6.1.0.jar:6.1.0] at org.dozer.util.DefaultClassLoader.loadClass(DefaultClassLoader.java:46) [dozer-core-6.1.0.jar:6.1.0] at org.dozer.util.MappingUtils.loadClass(MappingUtils.java:223) [dozer-core-6.1.0.jar:6.1.0] at com.github.dozermapper.protobuf.util.ProtoUtils.getJavaClassIgnoreRepeated(ProtoUtils.java:156) [dozer-proto-6.1.0.jar:] at com.github.dozermapper.protobuf.util.ProtoUtils.getJavaClass(ProtoUtils.java:125) [dozer-proto-6.1.0.jar:] at com.github.dozermapper.protobuf.propertydescriptor.ProtoFieldPropertyDescriptor.getPropertyType(ProtoFieldPropertyDescriptor.java:77) [dozer-proto-6.1.0.jar:] at org.dozer.fieldmap.FieldMap.getSrcFieldType(FieldMap.java:131) [dozer-core-6.1.0.jar:6.1.0] at org.dozer.loader.MappingsParser.processMappings(MappingsParser.java:113) [dozer-core-6.1.0.jar:6.1.0] at org.dozer.loader.CustomMappingsLoader.load(CustomMappingsLoader.java:64) [dozer-core-6.1.0.jar:6.1.0] at org.dozer.DozerBeanMapper.loadCustomMappings(DozerBeanMapper.java:326) [dozer-core-6.1.0.jar:6.1.0] at org.dozer.DozerBeanMapper.initMappings(DozerBeanMapper.java:443) [dozer-core-6.1.0.jar:6.1.0] at org.dozer.DozerBeanMapper.getMappingProcessor(DozerBeanMapper.java:305) [dozer-core-6.1.0.jar:6.1.0] at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:214) [dozer-core-6.1.0.jar:6.1.0]

    Expected Results:

    To not load TimestampProto.Timestamp but use Timestamp. Dozer should be able to handle 2 cases, one where the class XXXProto encapsulates XXX, and other case when XXX and XXXProto are two files like Timestamp example.

    possible-bug waiting-on-feedback 
    opened by panes 12
  • Implemented CustomFieldValidator to inject a point of prevention before a source field value is fetched during mapping

    Implemented CustomFieldValidator to inject a point of prevention before a source field value is fetched during mapping

    A custom field validator is usually in conjunction with a CustomFieldMapper when implementing the CustomFieldMapperAndValidator interface. Use this when you want logic to prevent source field values being fetched. e.g. when checking lazy loaded relationships in an ORM

    If a custom field validator is specified, Dozer will invoke this class when performing all field mappings. If false is returned from the call the source field value will never be fetched, and subsequently the field will never be mapped.

    enhancement needs-rebase waiting-on-feedback 
    opened by gilbertg 11
  • Bump apache-karaf from 4.2.6 to 4.3.8 in /tests/dozer-osgi-tests

    Bump apache-karaf from 4.2.6 to 4.3.8 in /tests/dozer-osgi-tests

    Bumps apache-karaf from 4.2.6 to 4.3.8.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • dozer can not work for springboot 3

    dozer can not work for springboot 3

    Whats your runtime?

    • Dozer version: lastest
    • OS version: win
    • JDK version: 17

    Whats the problem?

    1 required dozer and springboot 3 2 init dozer

    Observed Results:

    throw exception : java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)

    Do you have plan to make dozermapper support springboot3.0.0 , thks

    opened by huihui-hb 1
  • Why is Dozer is not calling my custom converter for a class

    Why is Dozer is not calling my custom converter for a class

    Whats your runtime?

    • Dozer version: 5.4.0
    • OS version: Ubuntu 22.04
    • JDK version: 8

    Whats the problem?

    I am trying to configure a custom converter for mapping between two types. I want to stick to the programmatic API and not resort to XML. But it seems Dozer is not calling my custom converter. Here is a small unit test that reproduces the problem:

    @Test
    public void test() {
        DozerBeanMapper mapper = new DozerBeanMapper();
        mapper.setCustomConverters(singletonList(new ABConverter()));
    
        A a = new A("001");
    
        B b = mapper.map(a, B.class);
    
        System.out.println("b = " + b);
    }
    
    public static class ABConverter extends DozerConverter<A, B> {
        public ABConverter() {
            super(A.class, B.class);
        }
    
        @Override
        public B convertTo(A source, B destination) {
            return new B(source.val1);
        }
    
        @Override
        public A convertFrom(B source, A destination) {
            return new A(source.val2);
        }
    }
    
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class A {
        private String val1;
    }
    
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class B {
        private String val2;
    }
    

    Observed Results:

    The above code prints b = B(val2=null). I also added print statements in the converter and verified the methods are not being called.

    Expected Results:

    Looking at the setCustomConverters method, I expected that my custom converter will be called but that is not the case

    opened by swaranga-netflix 0
  • Bump jackson-databind from 2.10.1 to 2.12.6.1 in /bom-dependencies

    Bump jackson-databind from 2.10.1 to 2.12.6.1 in /bom-dependencies

    Bumps jackson-databind from 2.10.1 to 2.12.6.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump protobuf-java from 3.3.0 to 3.16.3 in /bom-dependencies

    Bump protobuf-java from 3.3.0 to 3.16.3 in /bom-dependencies

    Bumps protobuf-java from 3.3.0 to 3.16.3.

    Release notes

    Sourced from protobuf-java's releases.

    Protobuf Release v3.16.3

    Java

    • Refactoring java full runtime to reuse sub-message builders and prepare to migrate parsing logic from parse constructor to builder.
    • Move proto wireformat parsing functionality from the private "parsing constructor" to the Builder class.
    • Change the Lite runtime to prefer merging from the wireformat into mutable messages rather than building up a new immutable object before merging. This way results in fewer allocations and copy operations.
    • Make message-type extensions merge from wire-format instead of building up instances and merging afterwards. This has much better performance.
    • Fix TextFormat parser to build up recurring (but supposedly not repeated) sub-messages directly from text rather than building a new sub-message and merging the fully formed message into the existing field.
    • This release addresses a Security Advisory for Java users

    Protocol Buffers v3.16.1

    Java

    • Improve performance characteristics of UnknownFieldSet parsing (#9371)

    Protocol Buffers v3.16.0

    C++

    • Fix compiler warnings issue found in conformance_test_runner #8189 (#8190)
    • Fix MinGW-w64 build issues. (#8286)
    • [Protoc] C++ Resolved an issue where NO_DESTROY and CONSTINIT are in incorrect order (#8296)
    • Fix PROTOBUF_CONSTINIT macro redefinition (#8323)
    • Delete StringPiecePod (#8353)
    • Fix gcc error: comparison of unsigned expression in '>= 0' is always … (#8309)
    • Fix cmake install on iOS (#8301)
    • Create a CMake option to control whether or not RTTI is enabled (#8347)
    • Fix endian.h location on FreeBSD (#8351)
    • Refactor util::Status (#8354)
    • Make util::Status more similar to absl::Status (#8405)
    • Fix -Wsuggest-destructor-override for generated C++ proto classes. (#8408)
    • Refactor StatusOr and StringPiece (#8406)
    • Refactor uint128 (#8416)
    • The ::pb namespace is no longer exposed due to conflicts.
    • Allow MessageDifferencer::TreatAsSet() (and friends) to override previous calls instead of crashing.
    • Reduce the size of generated proto headers for protos with string or bytes fields.
    • Move arena() operation on uncommon path to out-of-line routine
    • For iterator-pair function parameter types, take both iterators by value.
    • Code-space savings and perhaps some modest performance improvements in RepeatedPtrField.
    • Eliminate nullptr check from every tag parse.
    • Remove unused _$name$cached_byte_size fields.
    • Serialize extension ranges together when not broken by a proto field in the middle.
    • Do out-of-line allocation and deallocation of string object in ArenaString.

    ... (truncated)

    Commits
    • b8c2488 Updating version.json and repo version numbers to: 16.3
    • 42e47e5 Refactoring Java parsing (3.16.x) (#10668)
    • 98884a8 Merge pull request #10556 from deannagarcia/3.16.x
    • 450b648 Cherrypick ruby fixes for monterey
    • b17bb39 Merge pull request #10548 from protocolbuffers/3.16.x-202209131829
    • c18f5e7 Updating changelog
    • 6f4e817 Updating version.json and repo version numbers to: 16.2
    • a7d4e94 Merge pull request #10547 from deannagarcia/3.16.x
    • 55815e4 Apply patch
    • 152d7bf Update version.json with "lts": true (#10535)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump snakeyaml from 1.24 to 1.31 in /tests/dozer-osgi-tests

    Bump snakeyaml from 1.24 to 1.31 in /tests/dozer-osgi-tests

    Bumps snakeyaml from 1.24 to 1.31.

    Commits
    • a3e641b Remove unused code for comments
    • d2ed568 Remove unused code
    • ab76f86 Add @​Deprecated annotation to constructs marked with @​deprecated javadoc.
    • bc7869b Make billionLaughsAttackTest.billionLaughsAttackExpanded() robust
    • 4cfb7b7 Merged in make-billion-laughs-attack-test-robust (pull request #7)
    • da5ba16 Update changes.xml
    • 23fbcef add test with JavaBean property of parameterized Collection
    • 6385279 change how we set detected type to JavaBean Collection property item
    • 0468784 force keyNode to be String for JavaBeans
    • 467bcc9 expect node to be scalar when enforcings String keys
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v6.5.2)
  • v6.5.2(Apr 7, 2021)

  • v6.5.1(Jul 13, 2020)

    • Upgrade to beanutils-1.9.4 (#768)
    • Added caching of DatatypeFactory instances to ConstructionStrategies (#777) (#778)
    • Switched java 12 for java 13 (#776)
    • Bump jackson-dataformat.version in /bom-dependencies (#774)
    • PR-548: Add information about code style configuration for project. (#709)
    • Added transaction support to MappedFieldsTracker (#772)
    • Typo in README (#770)
    • Dropped builds for java 9/10 (#759)
    Source code(tar.gz)
    Source code(zip)
  • 6.5.0(Jun 16, 2019)

    Thanks to:

    • @Gavineil
    • @xcorail
    • @diegov
    • @andriizakharchuk
    • @xaviermichel
    • @CyberClems
    • @kazuki43zoo
    • @grubeninspekteur
    • Fix custom converter params not being thread-safe (#755)
    • Allow to specify the JSR-310 indivisual format on date-format (#754)
    • Added jdk12 and ea to builds (#752)
    • Support the customizer interface of DozerBeanMapperBuilder for integrating with Spring DI container (#741)
    • Add missing skipConstructor method to API (#218) (#748)
    • Upgraded karaf versions to fix java 11 test failures (#744)
    • feat: Add converter for java.time.Instant (#731) (#742)
    • Fixed issue with line breaks in xml configuration field (#728)
    • Map enums by name instead of using toString() (#52) (#729)
    • Removed sudo req for travis (#725)
    • Upgraded cxf plugin to 3.2.3 (#724)
    • Add LGTM.com code quality badges (#701)
    • Upgraded javaassist to 3.24 (#723)
    • Upgraded spifly to 1.1 (#721)
    • Updated java modules version range for pax exam to be only for 9 and 10 (#720)
    • Upgraded bundle plugin to latest for java11 (#719)
    • Upgraded spotbug for java11 (#718)
    • Removed surefire config for java 11 (#717)
    • Upgraded cglib for java11 (#716)
    • Upgraded mvn compiler to fix java11 build (#714)
    • Added jaxb-runtime for java11 build time support to jaxb-plugin (#713)
    • support one way exclude via api mapping (#707)
    • Switched to OpenJDK due to license change (#706)
    Source code(tar.gz)
    Source code(zip)
  • 6.4.1(Aug 31, 2018)

    Thanks to:

    • @obno
    • @orange-buffalo
    • [ISSUE: 696] fixes nested proto3 messages ClassNotFoundException (#697)
    • fixing osgi import issue that resulted in version 1.8 be required by Dozer (#695)
    Source code(tar.gz)
    Source code(zip)
  • 6.4.0(Aug 7, 2018)

    Thanks to:

    • @leonardoluiz
    • @kazuki43zoo
    • Fix collection item duplication (#667) (#690)
    • Java 8 date and time support (#685)
    • Removed jdk10 from allowed failures (#688)
    • Upgraded asm to v6.2 (#687)
    • Upgraded cglib to 3.2.7 for java10 support (#686)
    • Updated release notes to include camel and springboot (#683)
    • Update to 6.3.0 in README.md (#682)
    • Added missing properties for el resolving (#681)
    Source code(tar.gz)
    Source code(zip)
  • 6.3.0(Jul 26, 2018)

    Thanks to:

    • @kazuki43zoo
    • @snicoll
    • @grubeninspekteur
    • @yuanpli
    • Added jcl as dependancy (#677)
    • Removed jdk9 from allowed failures for travis (#676)
    • Upgraded asm dependancy for spifly to v6 for java9 (#675)
    • Upgraded spifly to latest (#674)
    • Upgraded bndlib to 4 (#673)
    • Upgraded pax exam to 4.12 (#672)
    • Added missing osgi exports (#671)
    • Disabled bundle plugin on springboot (#670)
    • Polishing code on dozer-spring4 (#654)
    • Add spring-boot-starter in dozer-spring-boot-starter (#661)
    • [ISSUE: 658] Support the mapping-files attribute on dozer:mapper element in dozer-spring4 module (#659)
    • Fix broken url for user-guide.pdf (#660)
    • Fix spring xml namespece in test (#657)
    • Update docs for integrating spring (#656)
    • Polishing code on dozer-spring-boot-autoconfigure (#655)
    • #550 Fall back to synthetic property getter/setter if none other available (#653)
    • Upgraded spotbugs to latest (#652)
    • Upgraded javadoc to latest (#651)
    • Upgraded lombok to latest (#650)
    • Added jdk 9 / 10 / 11 (#649)
    • #642 Support the conversion of String In Map To Enum (#643)
    • Deprecated com.github.dozermapper.core.loader.xml (#645)
    • Improved osgi tests and simplified code (#634)
    • Added first take of contributing guide (#633)
    • Minor test name update to match what test is doing (#632)
    • Added javax.activation to cxf plugin to build on java10 (#626)
    • Upgraded karaf4 to 4.2.0 for java9 and 10 support (#618)
    • Upgraded commons lang3 to latest (#616)
    • Upgraded surefire to latest (#615)
    • Upgraded mockito to latest (#614)
    • Fixed enforcer using incorrect version (#613)
    • Improve enum mapper test to check exception via rule (#611)
    • Updated to bundle plugin 3.5 (#610)
    • Fixed settings processor not being used by builder (#609)
    • Removed DozerInitializer and moved code into Builder (#608)
    • Cleaned up event package (#606)
    • Fixed incorrect handling of system id (#603)
    • Cleaned up spring4 tests (#602)
    • Cleaned up protobuf (#601)
    • Fixed javadoc warnings (#597)
    • Enabled jaxb by default (#596)
    • Added jmh test results (#595)
    • Updated wildfly version to 10.1 (#593)
    • Added package infos (#592)
    • Fixed checkstyle / codestyle errors and warnings (#591)
    • Added assembly plugin to build core with dependencies (#589)
    • Cleaned up caching code (#587)
    • Added MapperModelContext to allow extension for "getters" on the mapper (#586)
    • Updated to junit5 vintage (#584)
    • Updated org.dozer to com.github.dozermapper.core (#582)
    • Dropped support for xmlbeans (#578)
    • Dropped karaf2 support (#577)
    • Added jaxb as dependancy for java9 (#575)
    Source code(tar.gz)
    Source code(zip)
  • 6.2.0(Apr 1, 2018)

    Thanks to:

    • @vadeg
    • @grubeninspekteur
    • @KamilKrol
    • @apupier
    • @piotrdytkowski
    • @jbq
    • @gauravspatel
    • @dmytrofer
    • Added jdk9 jaxb build option (#572)
    • Replaced jaxb xsd generation with cxf (#571)
    • Added draft v1 of jaxb contract first (#532)
    • Updated cglib to latest (#566)
    • Replaced findbugs with spotbugs (#560)
    • Added jdk9 matrix for travis (#557)
    • #195: Option to enable case insensitive wildcard mapping (#552)
    • Fixes Issue #530: "MapId" field is now accessible from mapping metadata. (#549)
    • Fixed bug from #152. (#154)
    • Specify https to specify new xsd location (#538)
    • Corrected oneway mapping default (#540)
    • Mapping immutable types #216 (#218)
    • PR #382: Added spring-boot autoconfiguration support. (#526)
    • Honor java_multiple_files setting in protobuf options (#524)
    • Added contributors to readme (#525)
    • Added test for java ee / wildfly (#520)
    • Added unit tests to check ability to deploy dozer bundles to containers Apache Karaf v2.4.4 and v4.1.2; fixed OSGi dependencies to use it with wider range of OSGi core versions; changed version of maven-surefire-plugin to 2.20.1 beacuse of [SUREFIRE-1302]; changed OSGi container implementation from native to Apache Karaf (#516) (#519)
    • Updated osgi imports to not import the exports (#513)
    • #495: set classloader to beanContainer (#506)
    • Upgraded javassist to latest ga (#511)
    • Updated checkstyle rules (#510)
    • Added javadoc for protobuf (#508)
    • Added hibernate to pax-exam osgi install (#507)
    • Added javadoc for spring (#505)
    • Fixed some checkstyle issues (#503)
    • Added missing osgi mvn property (#501)
    • Updated docs for mvn dependencies (#497)
    • Updated docs for customer convert java examples (#496)
    • Added helper methods for spring (#494)
    • Added javadoc checkstyle modules (#493)
    • Fixed compiler warnings for spring (#492)
    • Updated proto plugin to build to standard mvn location (#491)
    • Fixed compiler/javadoc warnings for proto (#490)
    • Updated ELEngine to be an interface (#487)
    • Removed deprecated set methods (#486)
    • Updated spring xml to use bean factory instead of default mapper with set methods (#485)
    • Removed deprecated constructors (#484)
    • Removed singleton wrapper (#483)
    • Updated jackson to be optional (#482)
    • Updated spring to be compliant with builder pattern (#481)
    • Removed stats (#475)
    • Added proto osgi test support (#474)
    • Added spring osgi tests (#473)
    • Moved OSGi mvn bundle to parent so all components are osgi'fied (#472)
    • Updated javax.el to v3 (#471)
    • Updated proto code to be compliant with stricter checkstyle and findbugs (#470)
    • Added fix for one way mapping issue (#467)
    • Added first version of settings v2 (#466)
    • Removed org.dozer.jmx (#465)
    • Moved tests under there own directory (#464)
    • Added version file which is processed by mvn (#462)
    • Moved jmh tests to a profile and executed by travis (#461)
    • Moved doclint check to javadoc plugin as it gives better error messages (#459)
    Source code(tar.gz)
    Source code(zip)
  • 6.1.0(Aug 6, 2017)

    Thanks to: @garethahealy @orange-buffalo @jbq @STRiDGE

    • [ISSUE 410] Updated spring package to be com.github.dozermapper.spring (#450)
    • [ISSUE 410] Updated osgi tests package to be com.github.dozermapper.osgitests (#448)
    • [ISSUE 410] Updated proto package to be com.github.dozermapper.protobuf (#447)
    • Updated OSGi tests to include an actual mapping (#430)
    • Added GitHub issue and pr template (#446)
    • Deprecated jmx and stats (#445)
    • Added draft 1 of jhm (#431)
    • Fix #206 Convert protobuf field names to camel case (#416)
    • deprecating additional methods on DozerBeanMapper (most importantly those which change mapper state) in order to completely move to Mapper only usage in future releases (#435)
    • Banishing the singletons (#403)
    • dozer-proto improvements (#411)
    • Do not force get and put methods when using Map (#163)
    • Updated Spring xsd to reference gh-pages (#423)
    • Updated Core XSD to point to github.io (#414)
    • Added new 'customConverterId' function with parameter (#418)
    • Added dozer-schema jar (#409)
    • Removed site content as this is now asciidoc (#408)
    Source code(tar.gz)
    Source code(zip)
  • v6.0.0(May 25, 2017)

    • Compatibility with Javassist 3.18.1 (#389)
    • Updated group id to GitHub related (#386)
    • moving eclipse-plugin to a separate git repo
    • migrating from javadoc comments in copyright notices to c-style comments closes #378
    • Move jmx test engine into test code with exec plugin profile to execute
    • [319] Upgraded to spring 4
    • Updated to latest hibernate
    • Updated docs Added website to split out news style content from docs
    • Implement mapping of Protobuf maps (#374)
    • Fix ReflectionUtils.determineGenericType to handle nested generics
    • Fixed invalid javadoc warnings
    • Added checkstyle for StaticVariableName
    • Added checkstyle for IllegalThrows
    • Added checkstyle PackageDeclaration
    • Added checkstyle for ExplicitInitialization
    • Added check style rule for UnnecessaryParentheses
    • Upgraded mockito to v2 (#366)
    • Added FinalClass and HideUtilityClassConstructor check style fixes
    • Upgrade proto to v3
    • Removed redundant modifiers Corrected modifier order
    • Added checkstyle rules
    • [232] applying global copy-by-reference for one-way fields (#359)
    • Added curly braces checkstyle check
    • Added check style for switch statements, long checks and conditional dead code
    • Added tab check to checkstyle
    • Updated bundle plugin to include helpful details about project (#353)
    • Regression using dozer-5.5.1 as a module for threading context
    • Added generated pdf
    • Added draft 1 of asciidocs (#343)
    • removing unused maven dependencies
    • replacing aether with link resolver to use maven react resolution
    • merging dozer-osgi artifact with dozer core (#348)
    • upgrading OSGI to the latest version
    • removing unused asm dependency
    • upgrading felix and pax-exam closes #314
    • Added optional support for mapping annotation (#197)
    • Removed intellij and eclipse plugins as both are deprecated
    • Added check style for imports
    • Added building tools which can be used by checkstyle / findbugs / etc
    • index and releasenotes now use only ISO 8601 (#335)
    • Cleaned up POMs to remove duplication (#327)
    • unregister JMX only if autoregister is enabled (#325)
    • Split out tests which log exceptions to stdout so its easier to track… (#323)
    • Updated beanutils to latest
    • Updated xmlbeans to latest
    • Updated commons-lang3 to latest
    • Updated protobuf to latest 2.x
    • Updated slf4j to latest
    • Upgraded junit and mockito to latest Replaced deprecated assert package
    • [287] All types of Collection are handled as List (#267)
    • Added check goal to force licenses to stay correct (#310)
    • Add class level annotation for Mapping via Annotations #175 (#309)
    • Fixed doclint errors and warnings
    • Added doclint to compiler Removed profile which disables doclint
    • Updated compiler to JDK 1.8
    • Updated plugin versions to latest
    • Fix hint for primitive type
    • Fix lookup of fully qualified class name in ProtoUtils
    • Updated felix framework to latest 4.x due to ClassNotFoundException: javax.xml.bind.JAXBElement on jdk8
    • Replaced java and codehaus repos with sonatype as they no longer resolve
    • Updated travis for better control and dropped sdks other than v8
    • Functional regression tests for #238 (map-id respected even when the same instance is mapped twice)
    • Fix for issue #238 MappedFieldsTracker does not consider map-id
    • ClassMappings : The computed mapping is now added to the cache
    • Changed the JavaBeanPropertyDescriptor. If the references to the write and read methods in the PropertyDescriptor are lost, we attempt to recover by clearing the PropertyDescriptor cache and re-fetching the references.
    • Test for issue #153 (Caused by: java.lang.IllegalAccessException - with modifiers "public" #153), confirms that the fix in pull request #174 works
    • Fixed misleading method name; checks that the method is a setter that does not return void.
    • JAXBElement section tests
    • Credit and fixes for tests
    • fixes DozerMapper/dozer#180 : a lost object reference while mapping Maps with custom parameter mappings
    • Resolves #44 (Primitive Wrappers ignored by Wildcard). Automatic mapping is performed on field fooBar, as long as the following conditions are true:
    • Support for default field-field mappings when entire classes are declared field accessible with the is-accessible="true" mapping. See issue #23 (Class level is-accessible doesn't work) at https://github.com/DozerMapper/dozer/issues/23 . Logic:
    • Implements built-in support for java.util.UUID (issue #83, https://github.com/DozerMapper/dozer/issues/83 ) by adding a default CustomConverter for UUIDs
    • Avoid inline comparison in favour to unwrapSrcFieldValue method.
    • Fix bidirectional usage of JAXBElement wrapper
    • Fix extra parameter on getClassMap
    • Creation strategy to support JAXBElement
    • Extra info in creation directive, to resolve destination field real type to create
    • Considerate JAXBElement type process at mapToDestObject
    • Extra functionality in order to support JAXBElement types as custom types
    • Support XmlGregorianCalendar to String conversion
    • Support Date to String conversion
    • Support Calendar to String conversion
    • Final coding of JAXBElementConverter
    • Fix typo in comments
    • Overhead convert and getPrimitiveOrWrapperConverter to provide extra info at JAXBElement converter
    • Provide extra info from MappingProcessor
    • Initial creation of new JAXBElement converter
    Source code(tar.gz)
    Source code(zip)
dOOv (Domain Object Oriented Validation) a fluent API for type-safe bean validation and mapping

dOOv (Domain Object Oriented Validation) dOOv is a fluent API for typesafe domain model validation and mapping. It uses annotations, code generation a

dOOv 77 Nov 20, 2022
Simpler, better and faster Java bean mapping framework

Orika ! NEW We are pleased to announce the release of Orika 1.5.4 ! This version is available on Maven central repository What? Orika is a Java Bean m

null 1.2k Jan 6, 2023
Selma Java bean mapping that compiles

Selma Java bean mapping at compile time ! What is Selma ? S3lm4 say Selma, stands for Stupid Simple Statically Linked Mapper. In fact it is on one sid

Publicis Sapient Engineering 210 Nov 2, 2022
An annotation processor for generating type-safe bean mappers

MapStruct - Java bean mappings, the easy way! What is MapStruct? Requirements Using MapStruct Maven Gradle Documentation and getting help Building fro

null 5.8k Dec 31, 2022
Intelligent object mapping

ModelMapper ModelMapper is an intelligent object mapping library that automatically maps objects to each other. It uses a convention based approach wh

ModelMapper 2.1k Dec 28, 2022
A declarative mapping library to simplify testable object mappings.

ReMap - A declarative object mapper Table of Contents Long story short About ReMap Great News Mapping operations Validation Features Limitations The m

REMONDIS IT Services GmbH & Co. KG 103 Dec 27, 2022
Elegance, high performance and robustness all in one java bean mapper

JMapper Framework Fast as hand-written code with zero compromise. Artifact information Status Write the configuration using what you prefer: Annotatio

null 200 Dec 29, 2022
You are missed at island with another 23 solider, loot chests and fight another opponents to survive, last man stands will win.

SurvivalGames The best SurvivalGames project at the market Wiki • Report issue • Request feature About This Project For years ago, a lot of players wa

ID2R Studios 10 Sep 8, 2022
Library for converting from one Java class to a dissimilar Java class with similar names based on the Bean convention

Beanmapper Beanmapper is a Java library for mapping dissimilar Java classes with similar names. The use cases for Beanmapper are the following: mappin

null 26 Nov 15, 2022
dOOv (Domain Object Oriented Validation) a fluent API for type-safe bean validation and mapping

dOOv (Domain Object Oriented Validation) dOOv is a fluent API for typesafe domain model validation and mapping. It uses annotations, code generation a

dOOv 77 Nov 20, 2022
dOOv (Domain Object Oriented Validation) a fluent API for type-safe bean validation and mapping

dOOv (Domain Object Oriented Validation) dOOv is a fluent API for typesafe domain model validation and mapping. It uses annotations, code generation a

dOOv 77 Nov 20, 2022
MyBatis SQL mapper framework for Java

MyBatis SQL Mapper Framework for Java The MyBatis SQL mapper framework makes it easier to use a relational database with object-oriented applications.

MyBatis 18k Jan 2, 2023
Fast and Easy mapping from database and csv to POJO. A java micro ORM, lightweight alternative to iBatis and Hibernate. Fast Csv Parser and Csv Mapper

Simple Flat Mapper Release Notes Getting Started Docs Building it The build is using Maven. git clone https://github.com/arnaudroger/SimpleFlatMapper.

Arnaud Roger 418 Dec 17, 2022
The Mixin re-mapper for Lunar Client.

LunarRemapper The Mixin re-mapper for Lunar Client. I have little time to work on this project, if you know what you're doing and have familiarized yo

null 45 Nov 28, 2022
Messenger(Chat app) is a real time one to one chat application with Push Notifications made using Firebase...

Messenger If you want a APK then create an issue, i'll send the link.. ChatApp is a real time one to one chat application with Push Notifications made

Tales 14 Apr 30, 2022
Time-Based One-Time Password (RFC 6238) and HMAC-Based One-Time Password (RFC 4226) reference implementations and more.

Crypto Time-Based One-Time Password (RFC 6238) and HMAC-Based One-Time Password (RFC 4226) reference implementations and more. Getting Started TOTP ge

Oliver Yasuna 1 May 12, 2022
This repository is an example of one of my biggest object-oriented projects

COO - Project This repository belongs to Lounès Meddahi. This project was realized in collaboration with Matthieu Medeng Essia Computer Science and Ma

Lounès Mh 2 Sep 11, 2022
Text Object Java Objects (TOJOs): an object representation of a multi-line structured text file like CSV

It's a simple manager of "records" in a text file of CSV, JSON, etc. format. It's something you would use when you don't want to run a full database,

Yegor Bugayenko 19 Dec 27, 2022
A distributed data integration framework that simplifies common aspects of big data integration such as data ingestion, replication, organization and lifecycle management for both streaming and batch data ecosystems.

Apache Gobblin Apache Gobblin is a highly scalable data management solution for structured and byte-oriented data in heterogeneous data ecosystems. Ca

The Apache Software Foundation 2.1k Jan 4, 2023