package org.nightlabs.jfire.scripting.admin.ui.editor.scriptedit;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
public abstract class AbstractScriptEditFactory
implements ScriptEditFactory
{
public static final String ATTRIBUTE_ID = "id";
public static final String ATTRIBUTE_LANGUAGE = "language";
private String scriptEditFactoryID;
private String language;
protected abstract ScriptEdit _createScriptEdit();
@Override
public ScriptEdit createScriptEdit() {
ScriptEdit result = _createScriptEdit();
result.setScriptEditFactory(this);
result.init();
return result;
}
@Override
public String getScriptEditFactoryID() {
return scriptEditFactoryID;
}
@Override
public String getLanguage() {
return language;
}
@Override
public void setInitializationData(IConfigurationElement element, String propertyName, Object data) throws CoreException
{
scriptEditFactoryID = element.getAttribute(ATTRIBUTE_ID);
language = element.getAttribute(ATTRIBUTE_LANGUAGE);
}
}