/* * 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.KeywordsTableHeaderRecognizer; import org.rf.ide.core.testdata.text.read.recognizer.keywords.KeywordArgumentsRecognizer; import org.rf.ide.core.testdata.text.read.recognizer.keywords.KeywordDocumentationRecognizer; import org.rf.ide.core.testdata.text.read.recognizer.keywords.KeywordReturnRecognizer; import org.rf.ide.core.testdata.text.read.recognizer.keywords.KeywordTagsRecognizer; import org.rf.ide.core.testdata.text.read.recognizer.keywords.KeywordTeardownRecognizer; import org.rf.ide.core.testdata.text.read.recognizer.keywords.KeywordTimeoutRecognizer; public class UserKeywordRecognizersProvider { private static volatile List<ATokenRecognizer> recognized = new ArrayList<>(); static { recognized.add(new KeywordsTableHeaderRecognizer()); recognized.add(new KeywordDocumentationRecognizer()); recognized.add(new KeywordTagsRecognizer()); recognized.add(new KeywordArgumentsRecognizer()); recognized.add(new KeywordReturnRecognizer()); recognized.add(new KeywordTeardownRecognizer()); recognized.add(new KeywordTimeoutRecognizer()); } public List<ATokenRecognizer> getRecognizers() { final List<ATokenRecognizer> recognizersProvided = new ArrayList<>(); synchronized (recognized) { for (final ATokenRecognizer rec : recognized) { recognizersProvided.add(rec.newInstance()); } } return recognizersProvided; } }