Go to the documentation of this file.00001
00002
00003
00004 package org.best.of.robotics;
00005
00006 import java.util.Properties;
00007
00008 import org.eclipse.xtext.Constants;
00009 import org.eclipse.xtext.service.DefaultRuntimeModule;
00010
00011 import com.google.inject.Binder;
00012 import com.google.inject.name.Names;
00013
00017 @SuppressWarnings("all")
00018 public abstract class AbstractSmachDSLRuntimeModule extends DefaultRuntimeModule {
00019
00020 protected Properties properties = null;
00021
00022 @Override
00023 public void configure(Binder binder) {
00024 properties = tryBindProperties(binder, "org/best/of/robotics/SmachDSL.properties");
00025 super.configure(binder);
00026 }
00027
00028 public void configureLanguageName(Binder binder) {
00029 binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.best.of.robotics.SmachDSL");
00030 }
00031
00032 public void configureFileExtensions(Binder binder) {
00033 if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
00034 binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("smach_model");
00035 }
00036
00037
00038 public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
00039 return org.best.of.robotics.services.SmachDSLGrammarAccess.class;
00040 }
00041
00042
00043 public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
00044 return org.best.of.robotics.serializer.SmachDSLSemanticSequencer.class;
00045 }
00046
00047
00048 public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
00049 return org.best.of.robotics.serializer.SmachDSLSyntacticSequencer.class;
00050 }
00051
00052
00053 public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
00054 return org.eclipse.xtext.serializer.impl.Serializer.class;
00055 }
00056
00057
00058 public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
00059 return org.best.of.robotics.parser.antlr.SmachDSLParser.class;
00060 }
00061
00062
00063 public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
00064 return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
00065 }
00066
00067
00068 public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
00069 return org.best.of.robotics.parser.antlr.SmachDSLAntlrTokenFileProvider.class;
00070 }
00071
00072
00073 public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
00074 return org.best.of.robotics.parser.antlr.internal.InternalSmachDSLLexer.class;
00075 }
00076
00077
00078 public com.google.inject.Provider<org.best.of.robotics.parser.antlr.internal.InternalSmachDSLLexer> provideInternalSmachDSLLexer() {
00079 return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.best.of.robotics.parser.antlr.internal.InternalSmachDSLLexer.class);
00080 }
00081
00082
00083 public void configureRuntimeLexer(com.google.inject.Binder binder) {
00084 binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(org.best.of.robotics.parser.antlr.internal.InternalSmachDSLLexer.class);
00085 }
00086
00087
00088 public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
00089 return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
00090 }
00091
00092
00093 @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.best.of.robotics.validation.SmachDSLJavaValidator> bindSmachDSLJavaValidator() {
00094 return org.best.of.robotics.validation.SmachDSLJavaValidator.class;
00095 }
00096
00097
00098 public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
00099 return org.best.of.robotics.scoping.SmachDSLScopeProvider.class;
00100 }
00101
00102
00103 public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
00104 binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.class);
00105 }
00106
00107
00108 public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
00109 binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
00110 }
00111
00112
00113 public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
00114 return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.class;
00115 }
00116
00117
00118 public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
00119 return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
00120 }
00121
00122
00123 public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
00124 return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
00125 }
00126
00127
00128 public void configureIResourceDescriptions(com.google.inject.Binder binder) {
00129 binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
00130 }
00131
00132
00133 public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
00134 binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
00135 }
00136
00137
00138 public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
00139 return org.best.of.robotics.generator.SmachDSLGenerator.class;
00140 }
00141
00142
00143 public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
00144 return org.best.of.robotics.formatting.SmachDSLFormatter.class;
00145 }
00146
00147
00148 public java.lang.ClassLoader bindClassLoaderToInstance() {
00149 return getClass().getClassLoader();
00150 }
00151
00152
00153 public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
00154 return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
00155 }
00156
00157
00158 public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
00159 return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
00160 }
00161
00162
00163 public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
00164 return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
00165 }
00166
00167
00168 public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
00169 return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
00170 }
00171
00172 }