@Override public void collectFieldPaths(FieldPath fp, List<FieldPath> entries, Object[] state) { Object[] subState = (Object[]) state[fp.path[fp.last]]; fp.last++; for (int i = 0; i < subState.length; i++) { if (subState[i] != null) { fp.path[fp.last] = i; entries.add(new FieldPath(fp)); } } fp.last--; }
@Override public void collectFieldPaths(FieldPath fp, List<FieldPath> entries, Object[] state) { entries.add(new FieldPath(fp)); } }
@Override public void collectFieldPaths(FieldPath fp, List<FieldPath> entries, Object[] state) { Object[] subState = (Object[]) state[fp.path[fp.last]]; fp.last++; for (int i = 0; i < subState.length; i++) { if (subState[i] != null) { fp.path[fp.last] = i; entries.add(new FieldPath(fp)); } } fp.last--; } }
@Override public void collectFieldPaths(FieldPath fp, List<FieldPath> entries, Object[] state) { entries.add(new FieldPath(fp)); } }
@Override public void collectFieldPaths(FieldPath fp, List<FieldPath> entries, Object[] state) { Object[] subState = (Object[]) state[fp.path[fp.last]]; fp.last++; for (int i = 0; i < subState.length; i++) { if (subState[i] != null) { fp.path[fp.last] = i; entries.add(new FieldPath(fp)); } } fp.last--; }
@Override public void collectFieldPaths(FieldPath fp, List<FieldPath> entries, Object[] state) { Object[] subState = (Object[]) state[fp.path[fp.last]]; fp.last++; for (int i = 0; i < subState.length; i++) { if (subState[i] != null) { fp.path[fp.last] = i; entries.add(new FieldPath(fp)); } } fp.last--; } }
@Override public List<FieldPath> collectFieldPaths(Object[] state) { ArrayList<FieldPath> result = new ArrayList<>(state.length); for (int i = 0; i < state.length; i++) { result.add(new FieldPath(i)); } return result; }
@Override public FieldPath getFieldPathForName(String name){ Integer idx = this.propsByName.get(name); return idx != null ? new FieldPath(idx.intValue()) : null; }
@Override public List<FieldPath> collectFieldPaths(Object[] state) { ArrayList<FieldPath> result = new ArrayList<>(state.length); for (int i = 0; i < state.length; i++) { result.add(new FieldPath(i)); } return result; }
@Override public FieldPath getFieldPathForName(String name){ Integer idx = this.propsByName.get(name); return idx != null ? new FieldPath(idx.intValue()) : null; }
@Override public FieldPath getFieldPathForName(String property) { FieldPath fp = new FieldPath(); return serializer.getFieldPathForName(fp, property); }
@Override public List<FieldPath> collectFieldPaths(Object[] state) { List<FieldPath> result = new ArrayList<>(state.length); serializer.collectFieldPaths(new FieldPath(), result, state); return result; }
@Override public FieldPath getFieldPathForName(String property) { FieldPath fp = new FieldPath(); return serializer.getFieldPathForName(fp, property); }
@Override public List<FieldPath> collectFieldPaths(Object[] state) { List<FieldPath> result = new ArrayList<>(state.length); serializer.collectFieldPaths(new FieldPath(), result, state); return result; }
@Override protected int readIndices(BitStream bs, S1DTClass dtClass) { int n = 0; int cursor = -1; while (true) { if (bs.readBitFlag()) { cursor += 1; } else { int offset = bs.readVarUInt(); if (offset == MAX_PROPERTIES) { break; } else { cursor += offset + 1; } } fieldPaths[n++] = new FieldPath(dtClass.getIndexMapping()[cursor]); } return n; }
@Override protected int readIndices(BitStream bs, S1DTClass dtClass) { int n = 0; int cursor = -1; while (true) { if (bs.readBitFlag()) { cursor += 1; } else { int offset = bs.readVarUInt(); if (offset == MAX_PROPERTIES) { break; } else { cursor += offset + 1; } } fieldPaths[n++] = new FieldPath(dtClass.getIndexMapping()[cursor]); } return n; }
@Override public String dumpState(String title, Object[] state) { FieldPath fp = new FieldPath(); List<DumpEntry> entries = new ArrayList<>(); serializer.collectDump(fp, "", entries, state); DEBUG_LOCK.lock(); try { DEBUG_DUMPER.clear(); DEBUG_DUMPER.setTitle(title); int r = 0; for (DumpEntry entry : entries) { DEBUG_DUMPER.setData(r, 0, entry.fieldPath); DEBUG_DUMPER.setData(r, 1, entry.name); DEBUG_DUMPER.setData(r, 2, entry.value); r++; } return DEBUG_DUMPER.toString(); } finally { DEBUG_LOCK.unlock(); } }
@Override public String dumpState(String title, Object[] state) { FieldPath fp = new FieldPath(); List<DumpEntry> entries = new ArrayList<>(); serializer.collectDump(fp, "", entries, state); DEBUG_LOCK.lock(); try { DEBUG_DUMPER.clear(); DEBUG_DUMPER.setTitle(title); int r = 0; for (DumpEntry entry : entries) { DEBUG_DUMPER.setData(r, 0, entry.fieldPath); DEBUG_DUMPER.setData(r, 1, entry.name); DEBUG_DUMPER.setData(r, 2, entry.value); r++; } return DEBUG_DUMPER.toString(); } finally { DEBUG_LOCK.unlock(); } }
fieldPaths[n++] = new FieldPath(dtClass.getIndexMapping()[cursor]);
fieldPaths[n++] = new FieldPath(dtClass.getIndexMapping()[cursor]);