RegexStepMatcher.java

  1. package org.jbehave.core.parsers;

  2. import java.util.regex.Matcher;
  3. import java.util.regex.Pattern;

  4. import org.jbehave.core.model.StepPattern;
  5. import org.jbehave.core.steps.StepType;

  6. public class RegexStepMatcher implements StepMatcher {

  7.     private final Pattern regexPattern;
  8.     private final String[] parameterNames;
  9.     private final StepPattern stepPattern;

  10.     public RegexStepMatcher(StepType stepType, String annotatedPattern, Pattern regexPattern, String[] parameterNames) {
  11.         this.regexPattern = regexPattern;
  12.         this.parameterNames = parameterNames;
  13.         this.stepPattern = new StepPattern(stepType, annotatedPattern, regexPattern.pattern());
  14.     }

  15.     @Override
  16.     public Matcher matcher(String stepWithoutStartingWord) {
  17.         return regexPattern.matcher(stepWithoutStartingWord);
  18.     }

  19.     @Override
  20.     public String[] parameterNames() {
  21.         return parameterNames;
  22.     }

  23.     @Override
  24.     public StepPattern pattern() {
  25.         return stepPattern;
  26.     }
  27. }