public default Traverser.Admin<E> nextTraverser() { return this.getEndStep().next(); }
@Override public Traverser.Admin<E> nextTraverser() { try { if (!this.locked) this.applyStrategies(); if (this.lastTraverser.bulk() > 0L) { final Traverser.Admin<E> temp = this.lastTraverser; this.lastTraverser = EmptyTraverser.instance(); return temp; } else { return this.finalEndStep.next(); } } catch (final FastNoSuchElementException e) { throw this.parent instanceof EmptyStep ? new NoSuchElementException() : e; } }
@Override public E next() { try { if (!this.locked) this.applyStrategies(); if (this.lastTraverser.bulk() == 0L) this.lastTraverser = this.finalEndStep.next(); this.lastTraverser.setBulk(this.lastTraverser.bulk() - 1L); return this.lastTraverser.get(); } catch (final FastNoSuchElementException e) { throw this.parent instanceof EmptyStep ? new NoSuchElementException() : e; } }
@Override public Traverser.Admin<S> next() { if (!this.traverserSet.isEmpty()) return this.traverserSet.remove(); ///////////// if (this.hostStep.getPreviousStep().hasNext()) return this.hostStep.getPreviousStep().next(); ///////////// return this.traverserSet.remove(); }
public static final <S, E> boolean test(final S start, final Traversal.Admin<S, E> traversal, final E end) { if (null == end) return TraversalUtil.test(start, traversal); traversal.reset(); traversal.addStart(traversal.getTraverserGenerator().generate(start, traversal.getStartStep(), 1l)); final Step<?, E> endStep = traversal.getEndStep(); while (traversal.hasNext()) { if (endStep.next().get().equals(end)) return true; } return false; }
public static final <S, E> boolean test(final Traverser.Admin<S> traverser, final Traversal.Admin<S, E> traversal, E end) { if (null == end) return TraversalUtil.test(traverser, traversal); final Traverser.Admin<S> split = traverser.split(); split.setSideEffects(traversal.getSideEffects()); split.setBulk(1l); traversal.reset(); traversal.addStart(split); final Step<?, E> endStep = traversal.getEndStep(); while (traversal.hasNext()) { if (endStep.next().get().equals(end)) return true; } return false; }
/** * Iterate all the {@link Traverser} instances in the traversal. * What is returned is the empty traversal. * It is assumed that what is desired from the computation is are the sideEffects yielded by the traversal. * * @return the fully drained traversal */ public default <A, B> Traversal<A, B> iterate() { try { if (!this.asAdmin().isLocked()) { this.none(); this.asAdmin().applyStrategies(); } // use the end step so the results are bulked final Step<?, E> endStep = this.asAdmin().getEndStep(); while (true) { endStep.next(); } } catch (final NoSuchElementException ignored) { } return (Traversal<A, B>) this; }
/** * Add all the results of the traversal to the provided collection. * * @param collection the collection to fill * @return the collection now filled */ public default <C extends Collection<E>> C fill(final C collection) { try { if (!this.asAdmin().isLocked()) this.asAdmin().applyStrategies(); // use the end step so the results are bulked final Step<?, E> endStep = this.asAdmin().getEndStep(); while (true) { final Traverser<E> traverser = endStep.next(); TraversalHelper.addToCollection(collection, traverser.get(), traverser.bulk()); } } catch (final NoSuchElementException ignored) { } return collection; }
haltedTraversers.add(this.haltedTraverserStrategy.halt(endStep.next()));
GraphComputing.atMaster(previousStep, true); while (previousStep.hasNext()) { final Traverser.Admin<Object> result = previousStep.next(); if (result.isHalted()) haltedTraversers.add(haltedTraverserStrategy.halt(result)); GraphComputing.atMaster(currentStep, true); while (currentStep.hasNext()) { final Traverser.Admin<Object> traverser = currentStep.next(); if (traverser.isHalted()) haltedTraversers.add(haltedTraverserStrategy.halt(traverser));
public default Traverser.Admin<E> nextTraverser() { return this.getEndStep().next(); }
@Override public Traverser.Admin<S> next() { if (!this.traversers.isEmpty()) return this.traversers.poll(); ///////////// if (this.hostStep.getPreviousStep().hasNext()) return this.hostStep.getPreviousStep().next(); ///////////// throw FastNoSuchElementException.instance(); }
@Override public Traverser.Admin<S> next() { if (!this.traversers.isEmpty()) return this.traversers.poll(); ///////////// if (this.hostStep.getPreviousStep().hasNext()) return this.hostStep.getPreviousStep().next(); ///////////// throw FastNoSuchElementException.instance(); }
@Override public Traverser.Admin<E> nextTraverser() { try { if (!this.locked) this.applyStrategies(); if (this.lastTraverser.bulk() > 0L) { final Traverser.Admin<E> temp = this.lastTraverser; this.lastTraverser = EmptyTraverser.instance(); return temp; } else { return this.finalEndStep.next(); } } catch (final FastNoSuchElementException e) { throw this.parent instanceof EmptyStep ? new NoSuchElementException() : e; } }
@Override public E next() { try { if (!this.locked) this.applyStrategies(); if (this.lastTraverser.bulk() == 0L) this.lastTraverser = this.finalEndStep.next(); this.lastTraverser.setBulk(this.lastTraverser.bulk() - 1L); return this.lastTraverser.get(); } catch (final FastNoSuchElementException e) { throw this.parent instanceof EmptyStep ? new NoSuchElementException() : e; } }
public static final <S, E> boolean test(final S start, final Traversal.Admin<S, E> traversal, final E end) { if (null == end) return TraversalUtil.test(start, traversal); traversal.reset(); traversal.addStart(traversal.getTraverserGenerator().generate(start, traversal.getStartStep(), 1l)); final Step<?, E> endStep = traversal.getEndStep(); while (traversal.hasNext()) { if (endStep.next().get().equals(end)) return true; } return false; }
@Override public Traverser.Admin<S> next() { if (!this.traverserSet.isEmpty()) return this.traverserSet.remove(); ///////////// if (this.hostStep.getPreviousStep().hasNext()) return this.hostStep.getPreviousStep().next(); ///////////// return this.traverserSet.remove(); }
public static final <S, E> boolean test(final Traverser.Admin<S> traverser, final Traversal.Admin<S, E> traversal, E end) { if (null == end) return TraversalUtil.test(traverser, traversal); final Traverser.Admin<S> split = traverser.split(); split.setSideEffects(traversal.getSideEffects()); split.setBulk(1l); traversal.reset(); traversal.addStart(split); final Step<?, E> endStep = traversal.getEndStep(); while (traversal.hasNext()) { if (endStep.next().get().equals(end)) return true; } return false; }
/** * Iterate all the {@link Traverser} instances in the traversal. * What is returned is the empty traversal. * It is assumed that what is desired from the computation is are the sideEffects yielded by the traversal. * * @return the fully drained traversal */ public default <A, B> Traversal<A, B> iterate() { try { if (!this.asAdmin().isLocked()) { this.none(); this.asAdmin().applyStrategies(); } // use the end step so the results are bulked final Step<?, E> endStep = this.asAdmin().getEndStep(); while (true) { endStep.next(); } } catch (final NoSuchElementException ignored) { } return (Traversal<A, B>) this; }
/** * Add all the results of the traversal to the provided collection. * * @param collection the collection to fill * @return the collection now filled */ public default <C extends Collection<E>> C fill(final C collection) { try { if (!this.asAdmin().isLocked()) this.asAdmin().applyStrategies(); // use the end step so the results are bulked final Step<?, E> endStep = this.asAdmin().getEndStep(); while (true) { final Traverser<E> traverser = endStep.next(); TraversalHelper.addToCollection(collection, traverser.get(), traverser.bulk()); } } catch (final NoSuchElementException ignored) { } return collection; }