Spring bean reflection
This commit is contained in:
parent
e3d3a94ab7
commit
deb5c95710
|
@ -169,9 +169,15 @@ public class ServiceInvoker {
|
||||||
private Object getValue(Cache.ParameterCache parameterCache, String json) throws IOException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
|
private Object getValue(Cache.ParameterCache parameterCache, String json) throws IOException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
|
||||||
Object result = null;
|
Object result = null;
|
||||||
if (List.class == parameterCache.clazz) {
|
if (List.class == parameterCache.clazz) {
|
||||||
|
if (null == parameterCache.genericClazzes || 1 != parameterCache.genericClazzes.length) {
|
||||||
|
throw new IllegalArgumentException();
|
||||||
|
}
|
||||||
result = objectMapper.readValue(json, objectMapper.getTypeFactory().constructCollectionType(List.class, parameterCache.genericClazzes[0]));
|
result = objectMapper.readValue(json, objectMapper.getTypeFactory().constructCollectionType(List.class, parameterCache.genericClazzes[0]));
|
||||||
} else if (Map.class == parameterCache.clazz) {
|
} else if (Map.class == parameterCache.clazz) {
|
||||||
|
if (null == parameterCache.genericClazzes || 2 != parameterCache.genericClazzes.length) {
|
||||||
|
throw new IllegalArgumentException();
|
||||||
|
}
|
||||||
|
result = objectMapper.readValue(json, objectMapper.getTypeFactory().constructMapType(Map.class, parameterCache.genericClazzes[0], parameterCache.genericClazzes[1]));
|
||||||
} else if (parameterCache.clazz.isPrimitive()) {
|
} else if (parameterCache.clazz.isPrimitive()) {
|
||||||
Class wrapperClazz = Primitives.wrap(parameterCache.clazz);
|
Class wrapperClazz = Primitives.wrap(parameterCache.clazz);
|
||||||
Constructor con = wrapperClazz.getConstructor(String.class);
|
Constructor con = wrapperClazz.getConstructor(String.class);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user