package com.sap.furcas.example.bibtex.dsl.editor;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import com.sap.furcas.example.bibtex.dsl.parser.BibtexAuthorViewParserFactory;
import com.sap.furcas.example.bibtex.dsl.parser.BibtexLibraryViewParserFactory;
import com.sap.furcas.metamodel.FURCAS.TCS.ConcreteSyntax;
import com.sap.furcas.runtime.referenceresolving.SyntaxRegistry;
import com.sap.furcas.runtime.syntaxprovider.SyntaxProvider;
import com.sap.furcas.runtime.syntaxprovider.SyntaxProviderImpl;
/**
* The activator class controls the plug-in life cycle
*/
public class Activator implements BundleActivator, SyntaxProvider {
private static SyntaxProvider libraryViewSyntaxProvider;
private static SyntaxProvider authorViewSyntaxProvider;
public static final String PLUGIN_ID = "Bibtex.dsl"; //NON-NLS-1
private static Activator plugin;
@Override
public void start(BundleContext context) throws Exception {
plugin = this;
libraryViewSyntaxProvider = new SyntaxProviderImpl(new BibtexLibraryViewParserFactory());
authorViewSyntaxProvider = new SyntaxProviderImpl(new BibtexAuthorViewParserFactory());
}
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
}
public static Activator getDefault() {
return plugin;
}
@Override
public ConcreteSyntax getSyntax() {
throw new RuntimeException("Call delegates directly!");
}
@Override
public void registerForIncrementalEvaluation(SyntaxRegistry registry) {
getLibraryViewSyntaxProvider().registerForIncrementalEvaluation(registry);
getAuthorViewSyntaxProvider().registerForIncrementalEvaluation(registry);
}
public SyntaxProvider getAuthorViewSyntaxProvider() {
return authorViewSyntaxProvider;
}
public SyntaxProvider getLibraryViewSyntaxProvider() {
return libraryViewSyntaxProvider;
}
}