BinaryStruct now checks super class fields also
This commit is contained in:
parent
7176bddc15
commit
46de7e05d1
2 changed files with 9 additions and 7 deletions
|
|
@ -32,12 +32,14 @@ public class BinaryFieldData {
|
||||||
if (!cache.containsKey(clazz)) {
|
if (!cache.containsKey(clazz)) {
|
||||||
try {
|
try {
|
||||||
ArrayList<BinaryFieldData> list = new ArrayList<>();
|
ArrayList<BinaryFieldData> list = new ArrayList<>();
|
||||||
for (Field field : clazz.getDeclaredFields()) {
|
for(Class<?> cc = clazz; cc != Object.class ;cc = cc.getSuperclass()) { // iterate through all super classes
|
||||||
if (field.isAnnotationPresent(BinaryField.class) ||
|
for (Field field : cc.getDeclaredFields()) {
|
||||||
field.isAnnotationPresent(CustomBinaryField.class) ||
|
if (field.isAnnotationPresent(BinaryField.class) ||
|
||||||
field.isAnnotationPresent(VariableLengthBinaryField.class))
|
field.isAnnotationPresent(CustomBinaryField.class) ||
|
||||||
|
field.isAnnotationPresent(VariableLengthBinaryField.class))
|
||||||
|
|
||||||
list.add(new BinaryFieldData(field));
|
list.add(new BinaryFieldData(field));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Collections.sort(list, new Comparator<BinaryFieldData>(){
|
Collections.sort(list, new Comparator<BinaryFieldData>(){
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -137,8 +137,8 @@ public class JSONObjectOutputStream extends OutputStream implements ObjectOutput
|
||||||
}
|
}
|
||||||
// Add all the fields to the DataNode
|
// Add all the fields to the DataNode
|
||||||
for(Field field : obj.getClass().getDeclaredFields()){
|
for(Field field : obj.getClass().getDeclaredFields()){
|
||||||
if((field.getModifiers() & Modifier.STATIC) == 0 &&
|
if( ! Modifier.isStatic(field.getModifiers()) &&
|
||||||
(field.getModifiers() & Modifier.TRANSIENT) == 0){
|
! Modifier.isTransient(field.getModifiers())){
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
Object fieldObj = field.get(obj);
|
Object fieldObj = field.get(obj);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue