org.jbehave.core.steps
Class CandidateStep

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

public class CandidateStep
extends java.lang.Object

Creates candidate step from a regex pattern of a step of a given type, associated to a Java method.

Author:
Elizabeth Keogh, Mauro Talevi, Paul Hammant

Nested Class Summary
static class CandidateStep.NoGroupFoundForName
           
static class CandidateStep.StartingWordNotFound
           
 
Field Summary
static java.lang.String PARAMETER_NAME_END
           
static java.lang.String PARAMETER_NAME_START
           
static java.lang.String PARAMETER_VALUE_END
           
static java.lang.String PARAMETER_VALUE_START
           
protected  ParameterConverters parameterConverters
           
protected  java.lang.Object steps
           
 
Constructor Summary
CandidateStep(java.lang.String patternAsString, int priority, StepType stepType, java.lang.reflect.Method method, CandidateSteps steps, StepPatternBuilder patternBuilder, ParameterConverters parameterConverters, java.util.Map<StepType,java.lang.String> startingWords)
           
CandidateStep(java.lang.String patternAsString, int priority, StepType stepType, java.lang.reflect.Method method, java.lang.Object stepsInstance, StepPatternBuilder patternBuilder, ParameterConverters parameterConverters, java.util.Map<StepType,java.lang.String> startingWords)
           
 
Method Summary
protected  java.lang.String[] annotatedParameterNames()
          Extract annotated parameter names from the @Named parameter annotations
protected  java.lang.Object[] argsForStep(java.util.Map<java.lang.String,java.lang.String> tableRow, java.util.regex.Matcher matcher, java.lang.reflect.Type[] types, java.lang.String[] annotationNames, java.lang.String[] parameterNames)
           
 Step createFrom(java.util.Map<java.lang.String,java.lang.String> tableRow, java.lang.String stepAsString)
           
protected  Step createStep(java.lang.String stepAsString, java.util.Map<java.lang.String,java.lang.String> tableRow, java.util.regex.Matcher matcher, java.lang.reflect.Method method, StepMonitor stepMonitor, java.lang.String[] groupNames)
           
 void doDryRun(boolean dryRun)
           
 boolean dryRun()
           
protected  java.lang.String getGroup(java.util.regex.Matcher matcher, java.lang.String name)
           
protected  com.thoughtworks.paranamer.Paranamer getParanamer()
           
 java.util.regex.Pattern getPattern()
           
 java.lang.String getPatternAsString()
           
 java.lang.Integer getPriority()
           
 StepType getStepType()
           
 boolean ignore(java.lang.String stepAsString)
           
 boolean isAndStep(java.lang.String stepAsString)
           
 boolean matches(java.lang.String stepAsString)
           
 boolean matches(java.lang.String step, java.lang.String previousNonAndStep)
           
 java.lang.String toString()
           
protected  java.lang.String translatedStep(java.lang.String stepAsString, java.util.Map<java.lang.String,java.lang.String> tableRow, java.lang.reflect.Type[] types, java.lang.String[] annotationNames, java.lang.String[] parameterNames)
           
 void useParanamer(com.thoughtworks.paranamer.Paranamer paranamer)
           
 void useStepMonitor(StepMonitor stepMonitor)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PARAMETER_NAME_START

public static final java.lang.String PARAMETER_NAME_START
See Also:
Constant Field Values

PARAMETER_NAME_END

public static final java.lang.String PARAMETER_NAME_END
See Also:
Constant Field Values

PARAMETER_VALUE_START

public static final java.lang.String PARAMETER_VALUE_START
See Also:
Constant Field Values

PARAMETER_VALUE_END

public static final java.lang.String PARAMETER_VALUE_END
See Also:
Constant Field Values

steps

protected final java.lang.Object steps

parameterConverters

protected final ParameterConverters parameterConverters
Constructor Detail

CandidateStep

public CandidateStep(java.lang.String patternAsString,
                     int priority,
                     StepType stepType,
                     java.lang.reflect.Method method,
                     CandidateSteps steps,
                     StepPatternBuilder patternBuilder,
                     ParameterConverters parameterConverters,
                     java.util.Map<StepType,java.lang.String> startingWords)

CandidateStep

public CandidateStep(java.lang.String patternAsString,
                     int priority,
                     StepType stepType,
                     java.lang.reflect.Method method,
                     java.lang.Object stepsInstance,
                     StepPatternBuilder patternBuilder,
                     ParameterConverters parameterConverters,
                     java.util.Map<StepType,java.lang.String> startingWords)
Method Detail

useStepMonitor

public void useStepMonitor(StepMonitor stepMonitor)

useParanamer

public void useParanamer(com.thoughtworks.paranamer.Paranamer paranamer)

getParanamer

protected com.thoughtworks.paranamer.Paranamer getParanamer()

dryRun

public boolean dryRun()

doDryRun

public void doDryRun(boolean dryRun)

getPriority

public java.lang.Integer getPriority()

ignore

public boolean ignore(java.lang.String stepAsString)

matches

public boolean matches(java.lang.String stepAsString)

matches

public boolean matches(java.lang.String step,
                       java.lang.String previousNonAndStep)

isAndStep

public boolean isAndStep(java.lang.String stepAsString)

createFrom

public Step createFrom(java.util.Map<java.lang.String,java.lang.String> tableRow,
                       java.lang.String stepAsString)

argsForStep

protected java.lang.Object[] argsForStep(java.util.Map<java.lang.String,java.lang.String> tableRow,
                                         java.util.regex.Matcher matcher,
                                         java.lang.reflect.Type[] types,
                                         java.lang.String[] annotationNames,
                                         java.lang.String[] parameterNames)

translatedStep

protected java.lang.String translatedStep(java.lang.String stepAsString,
                                          java.util.Map<java.lang.String,java.lang.String> tableRow,
                                          java.lang.reflect.Type[] types,
                                          java.lang.String[] annotationNames,
                                          java.lang.String[] parameterNames)

getGroup

protected java.lang.String getGroup(java.util.regex.Matcher matcher,
                                    java.lang.String name)

annotatedParameterNames

protected java.lang.String[] annotatedParameterNames()
Extract annotated parameter names from the @Named parameter annotations

Returns:
An array of annotated parameter names, which may include null values for parameters that are not annotated

createStep

protected Step createStep(java.lang.String stepAsString,
                          java.util.Map<java.lang.String,java.lang.String> tableRow,
                          java.util.regex.Matcher matcher,
                          java.lang.reflect.Method method,
                          StepMonitor stepMonitor,
                          java.lang.String[] groupNames)

getStepType

public StepType getStepType()

getPatternAsString

public java.lang.String getPatternAsString()

getPattern

public java.util.regex.Pattern getPattern()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2003-2010. All Rights Reserved.