/*
* Copyright 2015 Nokia Solutions and Networks
* Licensed under the Apache License, Version 2.0,
* see license.txt file for details.
*/
package org.rf.ide.core.testdata.text.read.recognizer;
import java.util.ArrayList;
import java.util.List;
import org.rf.ide.core.testdata.text.read.recognizer.header.TestCasesTableHeaderRecognizer;
import org.rf.ide.core.testdata.text.read.recognizer.testcases.TestCaseSetupRecognizer;
import org.rf.ide.core.testdata.text.read.recognizer.testcases.TestCaseTagsRecognizer;
import org.rf.ide.core.testdata.text.read.recognizer.testcases.TestCaseTeardownRecognizer;
import org.rf.ide.core.testdata.text.read.recognizer.testcases.TestCaseTemplateRecognizer;
import org.rf.ide.core.testdata.text.read.recognizer.testcases.TestCaseTimeoutRecognizer;
import org.rf.ide.core.testdata.text.read.recognizer.testcases.TestDocumentationRecognizer;
public class TestCaseRecognizersProvider {
private static volatile List<ATokenRecognizer> recognized = new ArrayList<>();
static {
recognized.add(new TestCasesTableHeaderRecognizer());
recognized.add(new TestDocumentationRecognizer());
recognized.add(new TestCaseTagsRecognizer());
recognized.add(new TestCaseSetupRecognizer());
recognized.add(new TestCaseTeardownRecognizer());
recognized.add(new TestCaseTemplateRecognizer());
recognized.add(new TestCaseTimeoutRecognizer());
}
public List<ATokenRecognizer> getRecognizers() {
final List<ATokenRecognizer> recognizersProvided = new ArrayList<>();
synchronized (recognized) {
for (final ATokenRecognizer rec : recognized) {
recognizersProvided.add(rec.newInstance());
}
}
return recognizersProvided;
}
}