package org.jetbrains.plugins.cucumber.psi.impl;
import com.intellij.lang.ASTNode;
import com.intellij.psi.tree.TokenSet;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.cucumber.psi.*;
import java.util.ArrayList;
import java.util.List;
/**
* @author yole
*/
public class GherkinScenarioOutlineImpl extends GherkinStepsHolderBase implements GherkinScenarioOutline {
private static final TokenSet EXAMPLES_BLOCK_FILTER = TokenSet.create(GherkinElementTypes.EXAMPLES_BLOCK);
public GherkinScenarioOutlineImpl(@NotNull final ASTNode node) {
super(node);
}
@Override
public String toString() {
return "GherkinScenarioOutline:" + getElementText();
}
@Override
protected String getPresentableText() {
return buildPresentableText("Scenario Outline");
}
protected void acceptGherkin(GherkinElementVisitor gherkinElementVisitor) {
gherkinElementVisitor.visitScenarioOutline(this);
}
@NotNull
public List<GherkinExamplesBlock> getExamplesBlocks() {
List<GherkinExamplesBlock> result = new ArrayList<>();
final ASTNode[] nodes = getNode().getChildren(EXAMPLES_BLOCK_FILTER);
for (ASTNode node : nodes) {
result.add((GherkinExamplesBlock) node.getPsi());
}
return result;
}
}