TraversalContext (Neo4j Community 2.1.0-M01 API)
Date: 2014-02-20

org.neo4j.graphdb.traversal

## Interface TraversalContext

- All Superinterfaces:
    TraversalMetadata

      public interface TraversalContext
      extends TraversalMetadata

  Provides a context for `TraversalBranch`es which they need to move further and report their progress.
  Author:
    Mattias Persson

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Evaluation` | `evaluate(TraversalBranch branch, BranchState 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.
    `boolean` | `isUnique(TraversalBranch branch)` Used for all except branches to check adherence to the traversal uniqueness.
    `boolean` | `isUniqueFirst(TraversalBranch branch)` Used for start branches to check adherence to the traversal uniqueness.
    `void` | `relationshipTraversed()` Reports that one more relationship has been traversed in this traversal.
    `void` | `unnecessaryRelationshipTraversed()` Reports that one more relationship has been traversed, albeit a relationship that hasn't provided any benefit to the traversal.

    - ### Methods inherited from interface org.neo4j.graphdb.traversal.TraversalMetadata

      `getNumberOfPathsReturned, getNumberOfRelationshipsTraversed`

- - ### Method Detail

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

          Evaluation evaluate(TraversalBranch branch,
                            BranchState 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.
      Parameters:
        `branch` - the `TraversalBranch` to evaluate.
        `state` - the `BranchState` for the branch.
      Returns:
        an `Evaluation` of the branch in this traversal.

Copyright © 2002–2014 The Neo4j Graph Database Project. All rights reserved.