private List getListByModel(Serializable serializable){
List list = new ArrayList();
Class extends Serializable> clazz = serializable.getClass();
Class> superClz = clazz.getSuperclass();
if(superClz instanceof Serializable){
Method md[] = superClz.getDeclaredMethods();
for (int m = 0; m < md.length; m++) {
if (md[m].getName().indexOf("get")==0) {
try {
Object obj = md[m].invoke(serializable, new Object[0]);
list.add(String.valueOf(obj));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
Method method[] = clazz.getDeclaredMethods();
for (int i = 0; i < method.length; i++) {
if (method[i].getName().indexOf("get")==0) {
try {
Object object = method[i].invoke(serializable, new Object[0]);
if(object instanceof Serializable){
Class> clz = object.getClass();
Method md[] = clz.getDeclaredMethods();
for (int j = 0; j < md.length; j++) {
if (md[j].getName().indexOf("get")==0) {
try {
Object obj = md[j].invoke(object, new Object[0]);
list.add(String.valueOf(obj));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
} else {
list.add(String.valueOf(object));
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
return list;
}