public RecursiveIteratorIterator(Env env, Value value, @Optional int mode, //0 == LEAVES_ONLY @Optional int flags) { RecursiveIterator iter = RecursiveIteratorProxy.create(value); _iterStack = new ArrayList <RecursiveIterator>(); _iterStack.add(iter); _mode = mode; }
public override void next(Env env) { RecursiveIterator currentIter = getInnerIterator(); currentIter.next(env); if (!currentIter.valid(env) && _iterStack.size() > 1) { _iterStack.remove(_iterStack.size() - 1); next(env); return; } if (currentIter.hasChildren(env)) { RecursiveIterator recursiveIter = currentIter.getChildren(env); _iterStack.add(recursiveIter); } }
public RecursiveFilterIterator(Context ctx, RecursiveIterator iterator) : this(ctx) { __construct(iterator); }