@Override public DefaultTraversalMetrics generateFinalResult(final DefaultTraversalMetrics tm) { if (this.onGraphComputer && !tm.isFinalized()) tm.setMetrics(this.getTraversal(), true); return tm; }
@Override public boolean hasNext() { boolean start = super.hasNext(); if (!this.onGraphComputer && !start) { final DefaultTraversalMetrics m = getTraversalMetricsFromSideEffects(); if (!m.isFinalized()) m.setMetrics(this.getTraversal(), false); } return start; }
@Override public Traverser.Admin<S> next() { Traverser.Admin<S> start = null; try { start = super.next(); return start; } finally { if (!this.onGraphComputer && start == null) { final DefaultTraversalMetrics m = getTraversalMetricsFromSideEffects(); if (!m.isFinalized()) m.setMetrics(this.getTraversal(), false); } } }
@Override public DefaultTraversalMetrics generateFinalResult(final DefaultTraversalMetrics tm) { if (this.onGraphComputer && !tm.isFinalized()) tm.setMetrics(this.getTraversal(), true); return tm; }
@Override public boolean hasNext() { boolean start = super.hasNext(); if (!this.onGraphComputer && !start) { final DefaultTraversalMetrics m = getTraversalMetricsFromSideEffects(); if (!m.isFinalized()) m.setMetrics(this.getTraversal(), false); } return start; }
@Override public Traverser.Admin<S> next() { Traverser.Admin<S> start = null; try { start = super.next(); return start; } finally { if (!this.onGraphComputer && start == null) { final DefaultTraversalMetrics m = getTraversalMetricsFromSideEffects(); if (!m.isFinalized()) m.setMetrics(this.getTraversal(), false); } } }