/**
* Copyright (c) 2011 Cloudsmith Inc. and other contributors, as listed below.
* 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
*
* Contributors:
* Cloudsmith
*
*/
package org.cloudsmith.geppetto.pp.dsl.pptp;
import org.cloudsmith.geppetto.pp.dsl.PPDSLConstants;
import org.cloudsmith.geppetto.pp.dsl.linking.PPQualifiedNameConverter;
import org.cloudsmith.geppetto.pp.dsl.linking.PPResourceDescriptionStrategy;
import org.cloudsmith.geppetto.pp.dsl.linking.PPSearchPath.ISearchPathProvider;
import org.cloudsmith.geppetto.pp.dsl.linking.PPSearchPathProvider;
import org.eclipse.xtext.naming.IQualifiedNameConverter;
import org.eclipse.xtext.naming.IQualifiedNameProvider;
import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy;
import org.eclipse.xtext.resource.generic.AbstractGenericResourceRuntimeModule;
/**
* A runtime module for PPTP generic model.
*
*/
public class PptpRuntimeModule extends AbstractGenericResourceRuntimeModule {
/**
* Binds resource description strategy that adds pptp data to descriptions.
*
* @return
*/
public Class<? extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() {
return PPResourceDescriptionStrategy.class;
}
/**
* Handles FQN <-> String conversion and defines "::" as the separator.
* (PPTP reuses the "PP" converter).
*/
public Class<? extends IQualifiedNameConverter> bindIQualifiedNameConverter() {
return PPQualifiedNameConverter.class;
}
/**
* Handles creation of QualifiedNames for referenceable PPTP model elements.
*/
@Override
public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
return PptpQualifiedNameProvider.class;
}
public Class<? extends ISearchPathProvider> bindSearchPathProvider() {
return PPSearchPathProvider.class;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.xtext.resource.generic.AbstractGenericResourceRuntimeModule#getFileExtensions()
*/
@Override
protected String getFileExtensions() {
return PPDSLConstants.PPTP_EXTENSION;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.xtext.resource.generic.AbstractGenericResourceRuntimeModule#getLanguageName()
*/
@Override
protected String getLanguageName() {
return PPDSLConstants.PPTP_LANGUAGE_NAME;
}
}