org.apache.tinkerpop.gremlin.driver.remote

## Class DriverRemoteTraversal<S,E>

- java.lang.Object
- - org.apache.tinkerpop.gremlin.process.remote.traversal.AbstractRemoteTraversal<S,E>
  - - org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal<S,E>

- All Implemented Interfaces:
    Serializable, AutoCloseable, Cloneable, Iterator<E>, RemoteTraversal<S,E>, Traversal<S,E>, Traversal.Admin<S,E>

      public class DriverRemoteTraversal<S,E>
      extends AbstractRemoteTraversal<S,E>

  A `AbstractRemoteTraversal` implementation for the Gremlin Driver. This `Traversal` implementation is typically iterated from `RemoteStep` where the `nextTraverser()` method is called. While this class provides implementations for both `next()` and `hasNext()` that unroll "bulked" results, those methods are not called directly from with TinkerPop remoting.
  Author:
    Stephen Mallette (http://stephen.genoprime.com)
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.process.traversal.Traversal

      `Traversal.Admin<S,E>, Traversal.Exceptions, Traversal.Symbols`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DriverRemoteTraversal(ResultSet rs, Client client, boolean attach, Optional<Configuration> conf)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `hasNext()`
    `E` | `next()`
    `Traverser.Admin<E>` | `nextTraverser()` Note that internally `#nextTraverser()` is called from within a loop (specifically in `AbstractStep.next()` that breaks properly when a `NoSuchElementException` is thrown.

    - ### Methods inherited from class org.apache.tinkerpop.gremlin.process.remote.traversal.AbstractRemoteTraversal

      `addStep, applyStrategies, clone, getBytecode, getGraph, getParent, getSideEffects, getSteps, getStrategies, getTraverserGenerator, getTraverserRequirements, isLocked, removeStep, setGraph, setParent, setSideEffects, setStrategies`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.Traversal.Admin

      `addStart, addStarts, addStep, equals, getEndStep, getStartStep, getTraversalSource, getTraverserSetSupplier, isRoot, removeStep, reset`

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.Traversal

      `asAdmin, close, explain, fill, forEachRemaining, forEachRemaining, iterate, next, none, profile, promise, toBulkSet, toList, toSet, toStream, tryNext`

    - ### Methods inherited from interface java.util.Iterator

      `remove`

- - ### Constructor Detail

    - #### DriverRemoteTraversal

          public DriverRemoteTraversal(ResultSet rs,
                                       Client client,
                                       boolean attach,
                                       Optional<Configuration> conf)

  - ### Method Detail

    - #### hasNext

          public boolean hasNext()

    - #### next

          public E next()

    - #### nextTraverser

          public Traverser.Admin<E> nextTraverser()

      Description copied from class: `AbstractRemoteTraversal`
      Note that internally `#nextTraverser()` is called from within a loop (specifically in `AbstractStep.next()` that breaks properly when a `NoSuchElementException` is thrown. In other words the "results" should be iterated to force that failure.
      Specified by:
        `nextTraverser` in interface `Traversal.Admin<S,E>`
      Specified by:
        `nextTraverser` in class `AbstractRemoteTraversal<S,E>`

Copyright © 2013–2021 Apache Software Foundation. All rights reserved.