/*******************************************************************************
* This file is part of the Symfony eclipse plugin.
*
* (c) Robert Gruendler <r.gruendler@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
******************************************************************************/
package com.dubture.symfony.core.model;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.dltk.core.IScriptProject;
import org.eclipse.dltk.core.ModelException;
import org.eclipse.dltk.internal.core.ModelElement;
import org.eclipse.dltk.internal.core.SourceType;
import com.dubture.symfony.index.model.TransUnit;
/**
*
* A Translation {@link SourceType}.
*
*
* @author Robert Gruendler <r.gruendler@gmail.com>
*
*/
@SuppressWarnings("restriction")
public class Translation extends SourceType {
private TransUnit unit;
public Translation(ModelElement parent, TransUnit unit) {
super(parent, unit.name);
this.unit = unit;
}
@Override
public Object getElementInfo() throws ModelException {
return new FakeTypeElementInfo();
}
@Override
protected Object openWhenClosed(Object info, IProgressMonitor monitor)
throws ModelException {
return new FakeTypeElementInfo();
}
@Override
public String getElementName() {
if (unit != null && unit.name != null)
return unit.name;
return super.getElementName();
}
@Override
public IScriptProject getScriptProject() {
IScriptProject project = super.getScriptProject();
if (project == null) {
return parent.getScriptProject();
}
return project;
}
}