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
12
13
14
15 public abstract class AbstractBeanMapper implements BeanMapper {
16
17
18
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 }