org.jbehave.core.steps
Class StepFinder

java.lang.Object
  extended by org.jbehave.core.steps.StepFinder

public class StepFinder
extends java.lang.Object

StepFinder is reponsible for finding and prioritising step candidates or finding steps instances from CandidateSteps, which are created using an InjectableStepsFactory.

The StepCandidates are responsible for the matching of a particular textual step and are sometimes represented as Stepdocs, each of which is simply a facade documenting a candidate. The candidates can be prioritised via an injectable StepFinder.PrioritisingStrategy, defaulting to StepFinder.ByPriorityField. A more sophisticated strategy that can be used is the StepFinder.ByLevenshteinDistance.


Nested Class Summary
static class StepFinder.ByLevenshteinDistance
          Strategy to priorise candidate steps by Levenshtein Distance
static class StepFinder.ByPriorityField
          Strategy to priorise step candidates by the StepCandidate.getPriority() field which is settable in the Given, When, Then annotations.
static interface StepFinder.PrioritisingStrategy
          Defines the priorising strategy of step candidates
 
Constructor Summary
StepFinder()
          Creates a StepFinder with a StepFinder.ByPriorityField strategy
StepFinder(StepFinder.PrioritisingStrategy prioritisingStrategy)
          Creates a StepFinder with a custom strategy
 
Method Summary
 java.util.List<StepCandidate> collectCandidates(java.util.List<CandidateSteps> candidateSteps)
          Collects a list of step candidates from CandidateSteps instances.
 java.util.List<Stepdoc> findMatching(java.lang.String stepAsText, java.util.List<CandidateSteps> candidateSteps)
          Finds matching steps, represented as Stepdocs, for a given textual step and a list of CandidateSteps.
 java.util.List<StepCandidate> prioritise(java.lang.String stepAsText, java.util.List<StepCandidate> candidates)
          Prioritises the list of step candidates that match a given step.
 java.util.List<Stepdoc> stepdocs(java.util.List<CandidateSteps> candidateSteps)
          Returns the stepdocs for the candidates collected from the given CandidateSteps.
 java.util.List<java.lang.Object> stepsInstances(java.util.List<CandidateSteps> candidateSteps)
          Returns the steps instances associated to CandidateSteps
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StepFinder

public StepFinder()
Creates a StepFinder with a StepFinder.ByPriorityField strategy


StepFinder

public StepFinder(StepFinder.PrioritisingStrategy prioritisingStrategy)
Creates a StepFinder with a custom strategy

Parameters:
prioritisingStrategy - the PrioritisingStrategy
Method Detail

stepdocs

public java.util.List<Stepdoc> stepdocs(java.util.List<CandidateSteps> candidateSteps)
Returns the stepdocs for the candidates collected from the given CandidateSteps.

Parameters:
candidateSteps - the List of CandidateSteps
Returns:
The List of Stepdocs, one for each StepCandidate.

findMatching

public java.util.List<Stepdoc> findMatching(java.lang.String stepAsText,
                                            java.util.List<CandidateSteps> candidateSteps)
Finds matching steps, represented as Stepdocs, for a given textual step and a list of CandidateSteps.

Parameters:
stepAsText - the textual step
candidateSteps - the List of CandidateSteps
Returns:
The list of Stepdocs, one for each matched StepCandidate.

stepsInstances

public java.util.List<java.lang.Object> stepsInstances(java.util.List<CandidateSteps> candidateSteps)
Returns the steps instances associated to CandidateSteps

Parameters:
candidateSteps - the List of CandidateSteps
Returns:
The List of steps instances

collectCandidates

public java.util.List<StepCandidate> collectCandidates(java.util.List<CandidateSteps> candidateSteps)
Collects a list of step candidates from CandidateSteps instances.

Parameters:
candidateSteps - the list CandidateSteps instances
Returns:
A List of StepCandidate

prioritise

public java.util.List<StepCandidate> prioritise(java.lang.String stepAsText,
                                                java.util.List<StepCandidate> candidates)
Prioritises the list of step candidates that match a given step.

Parameters:
stepAsText - the textual step to match
candidates - the List of StepCandidate
Returns:
The prioritised list according to the StepFinder.PrioritisingStrategy.


Copyright © 2003-2010. All Rights Reserved.