org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect

## Class SideEffectCapStep<S,E>

- java.lang.Object
- - org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep<S,E>
  - - org.apache.tinkerpop.gremlin.process.traversal.step.util.SupplyingBarrierStep<S,E>
    - - org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.SideEffectCapStep<S,E>

- All Implemented Interfaces:
    Serializable, Cloneable, Iterator<Traverser.Admin<E>>, Step<S,E>, Barrier<Boolean>, MemoryComputing<Boolean>

      public final class SideEffectCapStep<S,E>
      extends SupplyingBarrierStep<S,E>

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `Map<String,SideEffectCapable<Object,E>>` | `sideEffectCapableSteps`

    - ### 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
    `SideEffectCapStep(Traversal.Admin traversal, String sideEffectKey, String... sideEffectKeys)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `SideEffectCapStep<S,E>` | `clone()` Cloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication.
    `Set<TraverserRequirement>` | `getRequirements()` Provide the necessary `TraverserRequirement` that must be met by the traverser in order for the step to function properly.
    `List<String>` | `getSideEffectKeys()`
    `int` | `hashCode()`
    `protected E` | `supply()`
    `String` | `toString()`

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

      `addBarrier, addStart, addStarts, done, getMemoryComputeKey, hasNextBarrier, nextBarrier, processAllStarts, processNextStart, reset`

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

      `addLabel, equals, getId, getLabels, getNextStep, getPreviousStep, getStarts, getTraversal, hasNext, hasStarts, isTraverserStepIdAndLabelsSetByChild, next, prepareTraversalForNextStep, removeLabel, setId, setNextStep, setPreviousStep, setTraversal`

    - ### 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

      `equals`

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

      `forEachRemaining, remove`

- - ### Field Detail

    - #### sideEffectCapableSteps

          public transient Map<String,SideEffectCapable<Object,E>> sideEffectCapableSteps

  - ### Constructor Detail

    - #### SideEffectCapStep

          public SideEffectCapStep(Traversal.Admin traversal,
                                   String sideEffectKey,
                                   String... sideEffectKeys)

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `AbstractStep<S,E>`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `AbstractStep<S,E>`

    - #### getSideEffectKeys

          public List<String> getSideEffectKeys()

    - #### 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.
      Returns:
        the set of requirements

    - #### supply

          protected E supply()

      Specified by:
        `supply` in class `SupplyingBarrierStep<S,E>`

    - #### clone

          public SideEffectCapStep<S,E> 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<S,E>`
      Overrides:
        `clone` in class `SupplyingBarrierStep<S,E>`
      Returns:
        The cloned step

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