org.apache.tinkerpop.gremlin.process.computer.traversal.step.map

## Class TraversalVertexProgramStep

- java.lang.Object
- - org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep<ComputerResult,ComputerResult>
  - - org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep
    - - org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.TraversalVertexProgramStep

- All Implemented Interfaces:
    Serializable, AutoCloseable, Cloneable, Iterator<Traverser.Admin<ComputerResult>>, VertexComputing, Step<ComputerResult,ComputerResult>, TraversalParent

      public final class TraversalVertexProgramStep
      extends VertexProgramStep
      implements TraversalParent

  Author:
    Marko A. Rodriguez (http://markorodriguez.com)
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `PureTraversal<?,?>` | `computerTraversal`

    - ### Fields inherited from class org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep

      `computer, first, ROOT_TRAVERSAL, STEP_ID`

    - ### Fields inherited from class org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep

      `id, labels, nextEnd, nextStep, previousStep, starts, traversal, traverserStepIdAndLabelsSetByChild`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TraversalVertexProgramStep(Traversal.Admin traversal, Traversal.Admin<?,?> computerTraversal)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `TraversalVertexProgramStep` | `clone()` Cloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication.
    `TraversalVertexProgram` | `generateProgram(Graph graph, Memory memory)` Generate the `VertexProgram`.
    `List<Traversal.Admin<?,?>>` | `getGlobalChildren()`
    `Set<TraverserRequirement>` | `getRequirements()` Provide the necessary `TraverserRequirement` that must be met by the traverser in order for the step to function properly.
    `void` | `setComputerTraversal(Traversal.Admin<?,?> computerTraversal)`
    `void` | `setTraversal(Traversal.Admin<?,?> parentTraversal)` Set the `Traversal` that this step is contained within.
    `String` | `toString()`

    - ### Methods inherited from class org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep

      `getComputer, isEndStep, previousTraversalVertexProgram, processNextStart, setComputer`

    - ### Methods inherited from class org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep

      `addLabel, addStart, addStarts, equals, getId, getLabels, getNextStep, getPreviousStep, getStarts, getTraversal, hashCode, hasNext, hasStarts, isTraverserStepIdAndLabelsSetByChild, next, prepareTraversalForNextStep, removeLabel, reset, setId, setNextStep, setPreviousStep`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

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

      `addGlobalChild, addLocalChild, asStep, close, getLocalChildren, getSelfAndChildRequirements, integrateChild, removeGlobalChild, removeLocalChild, replaceLocalChild`

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

      `equals`

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

      `forEachRemaining, remove`

- - ### Field Detail

    - #### computerTraversal

          public PureTraversal<?,?> computerTraversal

  - ### Constructor Detail

    - #### TraversalVertexProgramStep

          public TraversalVertexProgramStep(Traversal.Admin traversal,
                                            Traversal.Admin<?,?> computerTraversal)

  - ### Method Detail

    - #### getGlobalChildren

          public List<Traversal.Admin<?,?>> getGlobalChildren()

      Specified by:
        `getGlobalChildren` in interface `TraversalParent`

    - #### setComputerTraversal

          public void setComputerTraversal(Traversal.Admin<?,?> computerTraversal)

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `AbstractStep<ComputerResult,ComputerResult>`

    - #### getRequirements

          public Set<TraverserRequirement> getRequirements()

      Description copied from interface: `Step`
      Provide the necessary `TraverserRequirement` that must be met by the traverser in order for the step to function properly. The provided default implements returns an empty set.
      Specified by:
        `getRequirements` in interface `Step<ComputerResult,ComputerResult>`
      Returns:
        the set of requirements

    - #### generateProgram

          public TraversalVertexProgram generateProgram(Graph graph,
                                                        Memory memory)

      Description copied from interface: `VertexComputing`
      Generate the `VertexProgram`.
      Specified by:
        `generateProgram` in interface `VertexComputing`
      Parameters:
        `graph` - the `Graph` that the program will be executed over.
        `memory` - the `Memory` from the previous OLAP job if it exists, else its an empty memory structure.
      Returns:
        the generated vertex program instance.

    - #### clone

          public TraversalVertexProgramStep clone()

      Description copied from interface: `Step`
      Cloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication. When cloning a step, it is important that the steps, the cloned step is equivalent to the state of the step when `Step.reset()` is called. Moreover, the previous and next steps should be set to `EmptyStep`.
      Specified by:
        `clone` in interface `Step<ComputerResult,ComputerResult>`
      Overrides:
        `clone` in class `AbstractStep<ComputerResult,ComputerResult>`
      Returns:
        The cloned step

    - #### setTraversal

          public void setTraversal(Traversal.Admin<?,?> parentTraversal)

      Description copied from interface: `Step`
      Set the `Traversal` that this step is contained within.
      Specified by:
        `setTraversal` in interface `Step<ComputerResult,ComputerResult>`
      Overrides:
        `setTraversal` in class `AbstractStep<ComputerResult,ComputerResult>`
      Parameters:
        `parentTraversal` - the new traversal for this step

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