TransformingStoryParser.java
- package org.jbehave.core.parsers;
- import org.jbehave.core.model.Story;
- public class TransformingStoryParser implements StoryParser {
- private final StoryParser delegate;
- private StoryTransformer[] transformers;
- public TransformingStoryParser(StoryParser delegate, StoryTransformer... transformers) {
- this.delegate = delegate;
- this.transformers = transformers;
- }
- @Override
- public Story parseStory(String storyAsText) {
- return delegate.parseStory(transform(storyAsText));
- }
- @Override
- public Story parseStory(String storyAsText, String storyPath) {
- return delegate.parseStory(transform(storyAsText), storyPath);
- }
- private String transform(String storyAsText) {
- String transformed = storyAsText;
- for (StoryTransformer transformer : transformers) {
- transformed = transformer.transform(transformed);
- }
- return transformed;
- }
- }