/** * If the traverser has "no future" then it is done with its lifecycle. * This does not mean that the traverser is "dead," only that it has successfully passed through a * {@link Traversal}. * * @return Whether the traverser is done executing or not */ public default boolean isHalted() { return getStepId().equals(HALT); }
final Traverser.Admin<Object> traverser = traversers.next(); traversers.remove(); final Step<Object, Object> currentStep = traversalMatrix.getStepById(traverser.getStepId());
remoteActiveTraversers.add(traverser.detach()); else { currentStep = traversalMatrix.getStepById(traverser.getStepId()); if (!currentStep.getId().equals(previousStep.getId()) && !(previousStep instanceof EmptyStep)) { GraphComputing.atMaster(previousStep, true);
final Traverser.Admin<Object> traverser = traversers.next(); traversers.remove(); final Step<Object, Object> currentStep = traversalMatrix.getStepById(traverser.getStepId());
remoteActiveTraversers.add(traverser.detach()); else { currentStep = traversalMatrix.getStepById(traverser.getStepId()); if (!currentStep.getId().equals(previousStep.getId()) && !(previousStep instanceof EmptyStep)) { GraphComputing.atMaster(previousStep, true);
@Override protected Iterator<Traverser.Admin<S>> computerAlgorithm() throws NoSuchElementException { if (null == this.repeatTraversal) throw new IllegalStateException("The repeat()-traversal was not defined: " + this); final Traverser.Admin<S> start = this.starts.next(); if (doUntil(start, true)) { start.setStepId(this.getNextStep().getId()); start.addLabels(this.labels); return IteratorUtils.of(start); } else { start.setStepId(this.repeatTraversal.getStartStep().getId()); start.initialiseLoops(start.getStepId(), this.loopName); if (doEmit(start, true)) { final Traverser.Admin<S> emitSplit = start.split(); emitSplit.resetLoops(); emitSplit.setStepId(this.getNextStep().getId()); return IteratorUtils.of(start, emitSplit); } else { return IteratorUtils.of(start); } } }
@Override public String getStepId() { return this.baseTraverser.getStepId(); }
private static boolean isRemoteTraverser(final Traverser.Admin traverser, final TraversalMatrix<?, ?> traversalMatrix) { return traverser.get() instanceof Attachable && !(traverser.get() instanceof Path) && !isLocalElement(traversalMatrix.getStepById(traverser.getStepId())); }
/** * If the traverser has "no future" then it is done with its lifecycle. * This does not mean that the traverser is "dead," only that it has successfully passed through a * {@link Traversal}. * * @return Whether the traverser is done executing or not */ public default boolean isHalted() { return getStepId().equals(HALT); }
@Override protected Iterator<Traverser.Admin<S>> computerAlgorithm() throws NoSuchElementException { if (null == this.repeatTraversal) throw new IllegalStateException("The repeat()-traversal was not defined: " + this); final Traverser.Admin<S> start = this.starts.next(); if (doUntil(start, true)) { start.setStepId(this.getNextStep().getId()); start.addLabels(this.labels); return IteratorUtils.of(start); } else { start.setStepId(this.repeatTraversal.getStartStep().getId()); start.initialiseLoops(start.getStepId(), this.loopName); if (doEmit(start, true)) { final Traverser.Admin<S> emitSplit = start.split(); emitSplit.resetLoops(); emitSplit.setStepId(this.getNextStep().getId()); return IteratorUtils.of(start, emitSplit); } else { return IteratorUtils.of(start); } } }
@Override public String getStepId() { return this.baseTraverser.getStepId(); }
private static boolean isRemoteTraverser(final Traverser.Admin traverser, final TraversalMatrix<?, ?> traversalMatrix) { return traverser.get() instanceof Attachable && !(traverser.get() instanceof Path) && !isLocalElement(traversalMatrix.getStepById(traverser.getStepId())); }