All Implemented Interfaces:
Serializable, AutoCloseable, Cloneable, Iterator<Traverser.Admin<Set<?>>>, Step<S,Set<?>>, PopContaining, TraversalParent, ListFunction

public final class IntersectStep<S,E> extends ScalarMapStep<S,Set<?>> implements TraversalParent, ListFunction
A map step that returns the intersection of the traverser and the provided arguments.
See Also:
  • Constructor Details

  • Method Details

    • getValueTraversal

      public Traversal.Admin<S,E> getValueTraversal()
    • getParameterItems

      public Object getParameterItems()
    • getParameterItemsGValue

      public GValue<Object> getParameterItemsGValue()
    • getStepName

      public String getStepName()
      Description copied from interface: ListFunction
      Template method used for retrieving the implementing Step's name.
      Specified by:
      getStepName in interface ListFunction
      Returns:
      this step's name.
    • map

      protected Set<?> map(Traverser.Admin<S> traverser)
      Specified by:
      map in class ScalarMapStep<S,Set<?>>
    • getLocalChildren

      public List<Traversal.Admin<S,E>> getLocalChildren()
      Description copied from interface: TraversalParent
      Gets a list of all "local" child traversals for this step. A "local" traversal is one which is evaluated independently for each incoming traverser to the parent step. This is typically used in cases where the child is used to process or augment each traverser individually. See LocalStep or ByModulating as examples.
      Specified by:
      getLocalChildren in interface TraversalParent
    • 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<S,E>
      Returns:
      the set of requirements
    • 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<S,E>
      Overrides:
      setTraversal in class AbstractStep<S,Set<?>>
      Parameters:
      parentTraversal - the new traversal for this step
    • clone

      public IntersectStep<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 AbstractStep<S,Set<?>>
      Returns:
      The cloned step
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class AbstractStep<S,Set<?>>