Interface TraversalContext

All Superinterfaces:
TraversalMetadata

public interface TraversalContext extends TraversalMetadata
Provides a context for TraversalBranches which they need to move further and report their progress.
  • Method Details

    • relationshipTraversed

      void relationshipTraversed()
      Reports that one more relationship has been traversed in this traversal.
    • unnecessaryRelationshipTraversed

      void unnecessaryRelationshipTraversed()
      Reports that one more relationship has been traversed, albeit a relationship that hasn't provided any benefit to the traversal.
    • isUniqueFirst

      boolean isUniqueFirst(TraversalBranch branch)
      Used for start branches to check adherence to the traversal uniqueness.
      Parameters:
      branch - the TraversalBranch to check for uniqueness.
      Returns:
      true if the branch is considered unique and is allowed to progress in this traversal.
    • isUnique

      boolean isUnique(TraversalBranch branch)
      Used for all except branches to check adherence to the traversal uniqueness.
      Parameters:
      branch - the TraversalBranch to check for uniqueness.
      Returns:
      true if the branch is considered unique and is allowed to progress in this traversal.
    • evaluate

      <STATE> Evaluation evaluate(TraversalBranch branch, BranchState<STATE> state)
      Evaluates a TraversalBranch whether or not to include it in the result and whether or not to continue further down this branch or not.
      Type Parameters:
      STATE - the type of the state object.
      Parameters:
      branch - the TraversalBranch to evaluate.
      state - the BranchState for the branch.
      Returns:
      an Evaluation of the branch in this traversal.