Interface PathEvaluator<STATE>

Type Parameters:
STATE - type of state each branch holds.
All Superinterfaces:
Evaluator
All Known Implementing Classes:
Evaluator.AsPathEvaluator, PathEvaluator.Adapter

public interface PathEvaluator<STATE> extends Evaluator
A PathEvaluator controls what's to be returned from a traversal and also how pruning is done. It looks at a Path and BranchStateand decides whether or not it should be included in the traversal result. It also decides whether the traverser should continue down that path or if it should be pruned so that the traverser won't continue down that path.
See Also:
  • Method Details

    • evaluate

      Evaluation evaluate(Path path, BranchState<STATE> state)
      Evaluates a Path and returns an Evaluation containing information about whether or not to include it in the traversal result, i.e return it from the Traverser. And also whether or not to continue traversing down that path or if it instead should be pruned so that the traverser won't continue down that branch represented by path.
      Parameters:
      path - the Path to evaluate.
      state - the state of this branch in the current traversal.
      Returns:
      an Evaluation containing information about whether or not to return it from the Traverser and whether or not to continue down that path.