Skip to content

Commit 3addcd8

Browse files
committed
Add new Utils.getSerializableFields() to get all serialized instance public fields inc super classes
1 parent 23ea60f commit 3addcd8

File tree

1 file changed

+18
-0
lines changed
  • src/AndroidClient/client/src/main/java/net/servicestack/client

1 file changed

+18
-0
lines changed

src/AndroidClient/client/src/main/java/net/servicestack/client/Utils.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,24 @@ public static Double tryParseDouble(String str) {
4343
}
4444
}
4545

46+
public static Field[] getSerializableFields(Class type){
47+
List<Field> fields = new ArrayList<Field>();
48+
for (Class<?> c = type; c != null; c = c.getSuperclass()) {
49+
if (c == Object.class)
50+
break;
51+
52+
for (Field f : c.getDeclaredFields()) {
53+
if (Modifier.isStatic(f.getModifiers()))
54+
continue;
55+
if (!Modifier.isPublic(f.getModifiers()))
56+
continue;
57+
58+
fields.add(f);
59+
}
60+
}
61+
return fields.toArray(new Field[fields.size()]);
62+
}
63+
4664
public static void reverse(byte[] bytes) {
4765
if (bytes == null)
4866
return;

0 commit comments

Comments
 (0)