public static Object[] getItemValues(Object bean) throws OpenDataException {
Class<?> beanClass = bean.getClass();
List<Object> items = new ArrayList<>();
for (Method method : getGetters(beanClass)) {
Object value;
try {
value = method.invoke(bean, (Object[]) null);
} catch (Exception ex) {
OpenDataException ode = new OpenDataException("Cannot obtain vaue from: " + method);
ode.initCause(ex);
throw ode;
}
Class<?> valueType = value.getClass();
OpenType<?> openType = getOpenType(valueType);
if (openType == SimpleType.STRING) {
items.add(value);
} else if (openType instanceof ArrayType) {
items.add(value);
} else if (openType instanceof CompositeType) {
items.add(toCompositeData(value));
} else {
throw new OpenDataException("Unsupported open type for: " + openType);
}
}
return items.toArray(new Object[items.size()]);
}
OpenTypeGenerator.java 文件源码
java
阅读 111
收藏 0
点赞 0
评论 0
项目:fabric8poc
作者:
评论列表
文章目录