View Javadoc
1   package io.oasp.module.beanmapping.common.base;
2   
3   import io.oasp.module.beanmapping.common.api.BeanMapper;
4   
5   import java.util.ArrayList;
6   import java.util.HashSet;
7   import java.util.List;
8   import java.util.Set;
9   
10  /**
11   * The abstract base implementation of {@link BeanMapper}.
12   *
13   * @author hohwille
14   */
15  public abstract class AbstractBeanMapper implements BeanMapper {
16  
17    /**
18     * The constructor.
19     */
20    public AbstractBeanMapper() {
21  
22      super();
23    }
24  
25    @Override
26    public <API, S extends API, T extends API> T mapTypesafe(Class<API> apiClass, S source, Class<T> targetClass) {
27  
28      return map(source, targetClass);
29    }
30  
31    @Override
32    public <T> List<T> mapList(List<?> source, Class<T> targetClass) {
33  
34      return mapList(source, targetClass, false);
35    }
36  
37    @Override
38    public <T> List<T> mapList(List<?> source, Class<T> targetClass, boolean suppressNullValues) {
39  
40      if ((source == null) || (source.isEmpty())) {
41        return new ArrayList<>();
42      }
43      List<T> result = new ArrayList<>(source.size());
44      for (Object sourceObject : source) {
45        if ((sourceObject != null) || !suppressNullValues) {
46          result.add(map(sourceObject, targetClass));
47        }
48      }
49      return result;
50    }
51  
52    @Override
53    public <T> Set<T> mapSet(Set<?> source, Class<T> targetClass) {
54  
55      return mapSet(source, targetClass, false);
56    }
57  
58    @Override
59    public <T> Set<T> mapSet(Set<?> source, Class<T> targetClass, boolean suppressNullValues) {
60  
61      if ((source == null) || (source.isEmpty())) {
62        return new HashSet<>();
63      }
64      Set<T> result = new HashSet<>(source.size());
65      for (Object sourceObject : source) {
66        if ((sourceObject != null) || !suppressNullValues) {
67          result.add(map(sourceObject, targetClass));
68        }
69      }
70      return result;
71    }
72  }