/*******************************************************************************
* Copyright (c) 2013 AKSW Xturtle Project, itemis AG (http://www.itemis.eu).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
******************************************************************************/
/*
* generated by Xtext
*/
package de.itemis.tooling.xturtle;
import org.eclipse.xtext.linking.ILinker;
import org.eclipse.xtext.linking.ILinkingDiagnosticMessageProvider;
import org.eclipse.xtext.linking.impl.LinkingHelper;
import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy;
import org.eclipse.xtext.resource.IFragmentProvider;
import org.eclipse.xtext.resource.ILocationInFileProvider;
import org.eclipse.xtext.validation.INamesAreUniqueValidationHelper;
import de.itemis.tooling.xturtle.linking.TurtleLinker;
import de.itemis.tooling.xturtle.linking.TurtleLinkingErrors;
import de.itemis.tooling.xturtle.linking.TurtleLinkingHelper;
import de.itemis.tooling.xturtle.naming.TurtleNameConverter;
import de.itemis.tooling.xturtle.naming.TurtleNameProvider;
import de.itemis.tooling.xturtle.resource.TurtleFragmentProvider;
import de.itemis.tooling.xturtle.resource.TurtleIndexingStrategy;
import de.itemis.tooling.xturtle.resource.TurtleLocationInFileProvider;
import de.itemis.tooling.xturtle.scoping.TurtleLocalScopeProvider;
import de.itemis.tooling.xturtle.services.TurtleDataTypeConverters;
import de.itemis.tooling.xturtle.validation.TurtleFixedSeverityLevels;
import de.itemis.tooling.xturtle.validation.TurtleNamesAreUniqueValidationHelper;
import de.itemis.tooling.xturtle.validation.TurtleNoLinkingValidationUriPrefixes;
import de.itemis.tooling.xturtle.validation.TurtleValidationSeverityLevels;
/**
* Use this class to register components to be used at runtime / without the Equinox extension registry.
*/
public class XturtleRuntimeModule extends de.itemis.tooling.xturtle.AbstractXturtleRuntimeModule {
@Override
public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
return CustomXturtleLexer.class;
}
// @Override//modified from provideInternalXturtleLexer()
//TODO needed?
public com.google.inject.Provider<CustomXturtleLexer> provideCustomXturtleLexer() {
return org.eclipse.xtext.parser.antlr.LexerProvider.create(CustomXturtleLexer.class);
}
@Override
public void configureRuntimeLexer(com.google.inject.Binder binder) {
binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(CustomXturtleLexer.class);
}
@Override
public Class<? extends org.eclipse.xtext.conversion.IValueConverterService> bindIValueConverterService() {
return TurtleDataTypeConverters.class;
}
@Override
public Class<? extends IFragmentProvider> bindIFragmentProvider() {
return TurtleFragmentProvider.class;
}
@Override
public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
return TurtleNameProvider.class;
}
public Class<? extends org.eclipse.xtext.naming.IQualifiedNameConverter> bindIQualifiedNameConverter() {
return TurtleNameConverter.class;
}
@Override
public Class<? extends ILinker> bindILinker() {
return TurtleLinker.class;
}
public Class<? extends LinkingHelper> bindLinkingHelper() {
return TurtleLinkingHelper.class;
}
public Class<? extends IDefaultResourceDescriptionStrategy> bindIndexingStrategy() {
return TurtleIndexingStrategy.class;
}
public Class<? extends ILinkingDiagnosticMessageProvider> bindLinkingErrorMessageProvider() {
return TurtleLinkingErrors.class;
}
// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class)
.annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE))
.to(TurtleLocalScopeProvider.class);
}
@Override
public Class<? extends ILocationInFileProvider> bindILocationInFileProvider() {
return TurtleLocationInFileProvider.class;
}
public Class<? extends INamesAreUniqueValidationHelper> bindUniqueNameValidationHelper() {
return TurtleNamesAreUniqueValidationHelper.class;
}
public Class<? extends TurtleValidationSeverityLevels> bindSeverityLevels() {
return TurtleFixedSeverityLevels.class;
}
public Class<? extends TurtleNoLinkingValidationUriPrefixes> bindIgnoreLinkingUriPrefixes() {
return TurtleFixedSeverityLevels.class;
}
}