/*
 * generated by Xtext 2.10.0
 */
package org.etsi.mts.tdl.graphical.labels;

import org.eclipse.xtext.linking.ILinkingService;
import org.eclipse.xtext.naming.IQualifiedNameProvider;
import org.eclipse.xtext.parser.IParser;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.scoping.IGlobalScopeProvider;
import org.eclipse.xtext.serializer.sequencer.IContextFinder;
import org.eclipse.xtext.serializer.tokens.ICrossReferenceSerializer;
import org.etsi.mts.tdl.graphical.labels.linking.ContextAwareLinkingService;
import org.etsi.mts.tdl.graphical.labels.naming.QNameProvider;
import org.etsi.mts.tdl.graphical.labels.parser.RuleBasedDataParser;
import org.etsi.mts.tdl.graphical.labels.resource.AdaptiveLinkingResource;
import org.etsi.mts.tdl.graphical.labels.scoping.ConfigurableScopeProvider;
import org.etsi.mts.tdl.graphical.labels.serializer.DataCrossReferenceSerializer;

/**
 * Use this class to register components to be used at runtime / without the Equinox extension registry.
 */
public class DataRuntimeModule extends AbstractDataRuntimeModule {

	public Class<? extends ICrossReferenceSerializer> bindICrossReferenceSerializer() {
		return DataCrossReferenceSerializer.class;
	}

	public Class<? extends IContextFinder> bindIContextFinder() {
		return DataContextFinder.class;
	}
	
	public Class<? extends IParser> bindIParser() {
		return RuleBasedDataParser.class;
	}

	public Class<? extends XtextResource> bindXtextResource() {
		return AdaptiveLinkingResource.class;
	}
	
	public Class<? extends ILinkingService> bindILinkingService() {
		return ContextAwareLinkingService.class;
	}

	public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
		return QNameProvider.class;
	}
	
	public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
		return ConfigurableScopeProvider.class;
	}
}
