Skip to content

Commit ec816f3

Browse files
committed
Refactor the packages and classes
1 parent e036f31 commit ec816f3

31 files changed

+87
-235
lines changed

src/main/java/mapfierj/Converter.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package mapfierj;
22

3-
import mapfierj.re.UnrealConverter;
43
import org.reflections.Reflections;
54

65
import java.lang.reflect.ParameterizedType;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package mapfierj.re;
1+
package mapfierj;
22

33
import java.lang.annotation.Retention;
44
import java.lang.annotation.Target;

src/main/java/mapfierj/re/InstanceCreator.java renamed to src/main/java/mapfierj/InstanceCreator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package mapfierj.re;
1+
package mapfierj;
22

33
import java.lang.reflect.Array;
44
import java.lang.reflect.Field;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package mapfierj.re;
1+
package mapfierj;
22

33
import java.lang.reflect.Array;
44
import java.util.ArrayList;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package mapfierj.re;
1+
package mapfierj;
22

33
import java.lang.reflect.Field;
44
import java.util.HashMap;
@@ -13,8 +13,8 @@ public class Load {
1313
Field variables[] = o.getClass().getDeclaredFields();
1414
for (Field var : variables) {
1515
var.setAccessible(true);
16-
if (var.getAnnotation(mapfierj.re.Field.class) != null) {
17-
String name = var.getAnnotation(mapfierj.re.Field.class).name();
16+
if (var.getAnnotation(mapfierj.Field.class) != null) {
17+
String name = var.getAnnotation(mapfierj.Field.class).name();
1818
fields.put(name, var.get(o));
1919
} else {
2020
fields.put(var.getName(), var.get(o));

src/main/java/mapfierj/Mapper.java

Lines changed: 51 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1,105 @@
11
package mapfierj;
22

33
import java.util.Collection;
4-
import java.util.HashMap;
5-
import java.util.List;
6-
import java.util.Set;
74

8-
@Deprecated
95
public class Mapper {
106

11-
private Converter converter = new Converter();
7+
private final Parser PARSER = new Parser();
128

13-
public Mapper(){}
14-
15-
public Mapper(String... packages) {
16-
converter.scanPackages(packages);
17-
}
18-
19-
public Converter getConverter() {
20-
return converter;
21-
}
22-
23-
public Session set(Object o) {
24-
return new Session(o);
9+
public Parser getConverter() {
10+
return PARSER;
2511
}
2612

27-
public Session set(Collection o) {
28-
return new Session(o);
13+
public Transaction set(Object o) {
14+
return new Transaction(o);
2915
}
3016

31-
public Session set(HashMap<String, Object> o) {
32-
return new Session(o);
17+
public Transaction set(Object[] o) {
18+
return new Transaction(o);
3319
}
3420

35-
public class Session {
36-
37-
private Transaction transaction;
21+
public class Transaction {
3822

39-
public Session(Object o) {
40-
try {
41-
transaction = new Transaction(o);
42-
} catch (Exception e) {
43-
e.printStackTrace();
44-
}
45-
}
23+
private Transactional transactional;
4624

47-
public Session(Collection o) {
25+
private Transaction(Object o) {
4826
try {
49-
transaction = new Transaction(o);
27+
if(o instanceof Collection) {
28+
transactional = new LazyWorker(((Collection) o).toArray());
29+
} else {
30+
transactional = new LazyWorker(o);
31+
}
5032
} catch (Exception e) {
5133
e.printStackTrace();
5234
}
5335
}
5436

55-
public Session(HashMap<String, Object> o) {
37+
private Transaction(Object[] o) {
5638
try {
57-
transaction = new Transaction(o);
39+
transactional = new LazyWorker(o);
5840
} catch (Exception e) {
5941
e.printStackTrace();
6042
}
6143
}
6244

63-
public Session convertField(String f, Class<?> t) {
45+
public Transaction convertField(String f, Class<?> type) {
6446
try {
65-
final Object o = converter.convertTo(transaction.getMap().get(f), t);
66-
if (o != null) {
67-
transaction.getMap().put(f, o);
68-
} else {
69-
transaction.getMap().remove(f);
47+
for (Load load : transactional.getLoads()) {
48+
Object fieldValue = load.getFields().get(f);
49+
Object newObject = PARSER.set(fieldValue).convertTo(type);
50+
if (newObject != null) {
51+
load.getFields().put(f, newObject);
52+
} else {
53+
load.getFields().remove(f);
54+
}
7055
}
7156
} catch (MappingException e) {
7257
e.printStackTrace();
7358
}
7459
return this;
7560
}
7661

77-
public Session convertFieldBy(String f, TypeConverterAdapter c) {
78-
final Object o = transaction.getMap().get(f);
79-
transaction.getMap().remove(f);
80-
if (o != null) {
81-
try {
82-
Object instance;
83-
Converter.Session session = converter.openSession();
84-
session.set(o);
85-
session.adapter(c);
86-
87-
if ((instance = session.convert()) != null) {
88-
transaction.getMap().put(f, instance);
62+
public Transaction convertFieldBy(String f, TypeConverterAdapter adapter) {
63+
try {
64+
for (Load load : transactional.getLoads()) {
65+
Object fieldValue = load.getFields().get(f);
66+
Object newObject = PARSER.set(fieldValue).convertBy(adapter);
67+
if (fieldValue != null) {
68+
load.getFields().put(f, newObject);
69+
} else {
70+
load.getFields().remove(f);
8971
}
90-
} catch (Exception e) {
91-
e.printStackTrace();
9272
}
73+
} catch (Exception e) {
74+
e.printStackTrace();
9375
}
9476
return this;
9577
}
9678

97-
public Session exclude(String f) {
98-
transaction.getMap().remove(f);
99-
return this;
100-
}
101-
102-
public Session excludeAll(String f) {
103-
transaction.getExcludedField().add(f);
79+
public Transaction exclude(String f) {
80+
for (Load load : transactional.getLoads()) {
81+
load.getFields().remove(f);
82+
}
10483
return this;
10584
}
10685

107-
public Session field(String f1, String f2) {
108-
Object o = transaction.getMap().get(f1);
109-
transaction.getMap().remove(f1);
110-
if (o != null) {
111-
transaction.getMap().put(f2, o);
86+
public Transaction field(String f1, String f2) {
87+
for (Load load : transactional.getLoads()) {
88+
Object fieldValue = load.getFields().get(f1);
89+
if (fieldValue != null) {
90+
load.getFields().put(f2, fieldValue);
91+
load.getFields().remove(f1);
92+
}
11293
}
11394
return this;
11495
}
11596

11697
public <T> T mapTo(Class<T> c) {
117-
T o = transaction.mapTo(c);
118-
if(o != null) {
119-
return o;
120-
} else {
121-
return transaction.mapAllTo(c);
122-
}
98+
return transactional.mapTo(c);
12399
}
124100

125-
public <T> List<T> mapToList(Class<T> c) {
126-
try {
127-
return transaction.mapToList(c);
128-
} catch (Exception e) {
129-
return null;
130-
}
131-
}
132-
133-
public <T> Set<T> mapToSet(Class<T> c) {
134-
try {
135-
return transaction.mapToSet(c);
136-
} catch (Exception e) {
137-
return null;
138-
}
101+
public Transactional transact() {
102+
return transactional;
139103
}
140104
}
141105
}
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
package mapfierj.re;
1+
package mapfierj;
22

3-
import mapfierj.MappingException;
4-
import mapfierj.TypeConverterAdapter;
53
import org.reflections.Reflections;
64

75
import java.lang.reflect.ParameterizedType;
@@ -69,7 +67,7 @@ public <T> T convertTo(Class<T> c) throws MappingException {
6967
}
7068
throw new MappingException("Unable to convert!");
7169
} else {
72-
throw new MappingException("No converter match for your object!");
70+
throw new MappingException("No tc match for your object!");
7371
}
7472
}
7573

src/main/java/mapfierj/re/PerfectWorker.java renamed to src/main/java/mapfierj/PerfectWorker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package mapfierj.re;
1+
package mapfierj;
22

33
import java.util.List;
44
import java.util.Set;

src/main/java/mapfierj/Transaction.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package mapfierj;
22

3-
import mapfierj.re.Transactional;
4-
53
import java.lang.reflect.Field;
64
import java.lang.reflect.ParameterizedType;
75
import java.util.*;
86

9-
@Deprecated
107
public class Transaction extends Transactional {
118

129
private List<Class<?>> repeaterClasses = new ArrayList<>();

src/main/java/mapfierj/re/Transactional.java renamed to src/main/java/mapfierj/Transactional.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package mapfierj.re;
1+
package mapfierj;
22

33
import java.util.ArrayList;
44
import java.util.List;

0 commit comments

Comments
 (0)