package org.jbehave.core.embedder; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; /** * Holds flags used by the StoryRunner to control story execution flow. */ public class StoryControls { private boolean dryRun = false; private boolean resetStateBeforeStory = true; private boolean resetStateBeforeScenario = true; private boolean skipScenariosAfterFailure = false; private boolean skipBeforeAndAfterScenarioStepsIfGivenStory = false; private boolean ignoreMetaFiltersIfGivenStory = false; private boolean metaByRow = false; private String storyMetaPrefix = ""; private String scenarioMetaPrefix = ""; public StoryControls() { } public boolean dryRun() { return dryRun; } public boolean resetStateBeforeStory() { return resetStateBeforeStory; } public boolean resetStateBeforeScenario() { return resetStateBeforeScenario; } public boolean skipScenariosAfterFailure() { return skipScenariosAfterFailure; } public boolean skipBeforeAndAfterScenarioStepsIfGivenStory() { return skipBeforeAndAfterScenarioStepsIfGivenStory; } public boolean ignoreMetaFiltersIfGivenStory() { return ignoreMetaFiltersIfGivenStory; } public boolean metaByRow() { return metaByRow; } public String storyMetaPrefix() { return storyMetaPrefix; } public String scenarioMetaPrefix() { return scenarioMetaPrefix; } public StoryControls doDryRun(boolean dryRun) { this.dryRun = dryRun; return this; } public StoryControls doResetStateBeforeScenario(boolean resetStateBeforeScenario) { this.resetStateBeforeScenario = resetStateBeforeScenario; return this; } public StoryControls doResetStateBeforeStory(boolean resetStateBeforeStory) { this.resetStateBeforeStory = resetStateBeforeStory; return this; } public StoryControls doSkipScenariosAfterFailure(boolean skipScenariosAfterFailure) { this.skipScenariosAfterFailure = skipScenariosAfterFailure; return this; } public StoryControls doSkipBeforeAndAfterScenarioStepsIfGivenStory(boolean skipBeforeAndAfterScenarioStepsIfGivenStory) { this.skipBeforeAndAfterScenarioStepsIfGivenStory = skipBeforeAndAfterScenarioStepsIfGivenStory; return this; } public StoryControls doIgnoreMetaFiltersIfGivenStory( boolean ignoreMetaFiltersIfGivenStory) { this.ignoreMetaFiltersIfGivenStory = ignoreMetaFiltersIfGivenStory; return this; } public StoryControls doMetaByRow(boolean metaByRow) { this.metaByRow = metaByRow; return this; } public StoryControls useStoryMetaPrefix(String storyMetaPrefix){ this.storyMetaPrefix = storyMetaPrefix; return this; } public StoryControls useScenarioMetaPrefix(String scenarioMetaPrefix){ this.scenarioMetaPrefix = scenarioMetaPrefix; return this; } @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } }