Skip to content

Commit 4de672c

Browse files
committed
Replaced Factory interface with Callable.
1 parent 1735bc7 commit 4de672c

File tree

3 files changed

+16
-19
lines changed

3 files changed

+16
-19
lines changed

json-path/src/main/java/com/jayway/jsonpath/spi/mapper/Factory.java

Lines changed: 0 additions & 6 deletions
This file was deleted.

json-path/src/main/java/com/jayway/jsonpath/spi/mapper/GsonMappingProvider.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,32 +23,34 @@
2323
import org.slf4j.Logger;
2424
import org.slf4j.LoggerFactory;
2525

26+
import java.util.concurrent.Callable;
27+
2628
public class GsonMappingProvider implements MappingProvider {
2729

2830
private static final Logger logger = LoggerFactory.getLogger(GsonMappingProvider.class);
2931

30-
private final Factory<Gson> factory;
32+
private final Callable<Gson> factory;
3133

3234
public GsonMappingProvider(final Gson gson) {
33-
this(new Factory<Gson>() {
35+
this(new Callable<Gson>() {
3436
@Override
35-
public Gson createInstance() {
37+
public Gson call() {
3638
return gson;
3739
}
3840
});
3941
}
4042

41-
public GsonMappingProvider(Factory<Gson> factory) {
43+
public GsonMappingProvider(Callable<Gson> factory) {
4244
this.factory = factory;
4345
}
4446

4547
public GsonMappingProvider() {
4648
super();
4749
try {
4850
Class.forName("com.google.gson.Gson");
49-
this.factory = new Factory<Gson>() {
51+
this.factory = new Callable<Gson>() {
5052
@Override
51-
public Gson createInstance() {
53+
public Gson call() {
5254
return new Gson();
5355
}
5456
};
@@ -61,7 +63,7 @@ public Gson createInstance() {
6163
@Override
6264
public <T> T map(Object source, Class<T> targetType, Configuration configuration) {
6365
try {
64-
return factory.createInstance().getAdapter(targetType).fromJsonTree((JsonElement) source);
66+
return factory.call().getAdapter(targetType).fromJsonTree((JsonElement) source);
6567
} catch (Exception e){
6668
throw new MappingException(e);
6769
}
@@ -70,7 +72,7 @@ public <T> T map(Object source, Class<T> targetType, Configuration configuration
7072
@Override
7173
public <T> T map(Object source, TypeRef<T> targetType, Configuration configuration) {
7274
try {
73-
return (T) factory.createInstance().getAdapter(TypeToken.get(targetType.getType())).fromJsonTree((JsonElement) source);
75+
return (T) factory.call().getAdapter(TypeToken.get(targetType.getType())).fromJsonTree((JsonElement) source);
7476
} catch (Exception e){
7577
throw new MappingException(e);
7678
}

json-path/src/main/java/com/jayway/jsonpath/spi/mapper/JsonSmartMappingProvider.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.text.DateFormat;
2727
import java.text.ParseException;
2828
import java.util.Date;
29+
import java.util.concurrent.Callable;
2930

3031
public class JsonSmartMappingProvider implements MappingProvider {
3132

@@ -48,18 +49,18 @@ public class JsonSmartMappingProvider implements MappingProvider {
4849
}
4950

5051

51-
private final Factory<JsonReader> factory;
52+
private final Callable<JsonReader> factory;
5253

5354
public JsonSmartMappingProvider(final JsonReader jsonReader) {
54-
this(new Factory<JsonReader>() {
55+
this(new Callable<JsonReader>() {
5556
@Override
56-
public JsonReader createInstance() {
57+
public JsonReader call() {
5758
return jsonReader;
5859
}
5960
});
6061
}
6162

62-
public JsonSmartMappingProvider(Factory<JsonReader> factory) {
63+
public JsonSmartMappingProvider(Callable<JsonReader> factory) {
6364
this.factory = factory;
6465
}
6566

@@ -79,7 +80,7 @@ public <T> T map(Object source, Class<T> targetType, Configuration configuration
7980
}
8081
try {
8182
if(!configuration.jsonProvider().isMap(source) && !configuration.jsonProvider().isArray(source)){
82-
return factory.createInstance().getMapper(targetType).convert(source);
83+
return factory.call().getMapper(targetType).convert(source);
8384
}
8485
String s = configuration.jsonProvider().toJson(source);
8586
return (T) JSONValue.parse(s, targetType);

0 commit comments

Comments
 (0)