7
7
8
8
import java .util .Map ;
9
9
import java .util .concurrent .ConcurrentHashMap ;
10
+ import java .util .stream .Stream ;
10
11
11
12
/**
12
13
* Utility class for handling JSON serialization and deserialization.
@@ -35,7 +36,7 @@ public class JsonUtils {
35
36
*/
36
37
private JsonUtils () {
37
38
}
38
-
39
+
39
40
private static synchronized GsonBuilder base ()
40
41
{
41
42
GsonBuilder builder = new GsonBuilder ();
@@ -58,11 +59,8 @@ private static synchronized GsonBuilder base()
58
59
public static Gson getGson () {
59
60
GsonBuilder builder = base ();
60
61
61
- for ( TypeAdapter value : typeAdaptersDeserialize .values () )
62
- builder .registerTypeAdapter ( value .getType (), value .getSerializer () );
63
-
64
- for ( TypeAdapter value : typeAdaptersSerialize .values () )
65
- builder .registerTypeAdapter ( value .getType (), value .getSerializer () );
62
+ Stream .concat (typeAdaptersDeserialize .values ().stream (), typeAdaptersSerialize .values ().stream ())
63
+ .forEach (value -> builder .registerTypeAdapter (value .getType (), value .getSerializer ()));
66
64
67
65
return builder .create ();
68
66
}
@@ -83,18 +81,9 @@ public static Gson getGson( Class ignoreClass, ExclusionStrategy... exclusionStr
83
81
{
84
82
GsonBuilder builder = base ();
85
83
86
- for ( TypeAdapter value : typeAdaptersDeserialize .values () ) {
87
- if ( ignoreClass != null && value .getType ().equals ( ignoreClass ) )
88
- continue ;
89
- builder .registerTypeAdapter ( value .getType (), value .getSerializer () );
90
- }
91
-
92
- for ( TypeAdapter value : typeAdaptersSerialize .values () ) {
93
- if ( ignoreClass != null && value .getType ().equals ( ignoreClass ) )
94
- continue ;
95
-
96
- builder .registerTypeAdapter ( value .getType (), value .getSerializer () );
97
- }
84
+ Stream .concat (typeAdaptersDeserialize .values ().stream (), typeAdaptersSerialize .values ().stream ())
85
+ .filter (value -> !value .getType ().equals (ignoreClass ))
86
+ .forEach (value -> builder .registerTypeAdapter (value .getType (), value .getSerializer ()));
98
87
99
88
return builder .setExclusionStrategies ( exclusionStrategies ).create ();
100
89
}
@@ -171,7 +160,7 @@ public static String toJson(Object src, ExclusionStrategy ... exclusionStrategie
171
160
172
161
/*
173
162
* (non-Javadoc)
174
- *
163
+ *
175
164
* @see java.lang.Object#toString()
176
165
*/
177
166
@ Override
0 commit comments