org.jbehave.scenario.steps
Class CandidateStep

java.lang.Object
  extended by org.jbehave.scenario.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, 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, 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)
           
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()
           
 StepType getStepType()
           
 boolean matches(java.lang.String stepAsString)
           
 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,
                     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,
                     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()

matches

public boolean matches(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.