blob: 190005861a474f0b3e58819f546e891528b03939 [file] [log] [blame]
package org.eclipse.dltk.debug.ui;
import java.util.List;
import org.eclipse.core.runtime.Assert;
import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.dltk.core.PriorityClassDLTKExtensionManager;
import org.eclipse.dltk.debug.core.model.IScriptDebugTarget;
public class DLTKDebugUILanguageManager
extends PriorityClassDLTKExtensionManager {
private static DLTKDebugUILanguageManager self;
private final static String LANGUAGE_EXTPOINT = DLTKDebugUIPlugin.PLUGIN_ID
+ ".language"; //$NON-NLS-1$
private DLTKDebugUILanguageManager() {
super(LANGUAGE_EXTPOINT);
}
static synchronized DLTKDebugUILanguageManager getInstance() {
if (self == null) {
self = new DLTKDebugUILanguageManager();
}
return self;
}
public static IDLTKDebugUILanguageToolkit getLanguageToolkit(
IDebugTarget target) {
Assert.isTrue(target instanceof IScriptDebugTarget);
String natureId = ((IScriptDebugTarget) target).getLanguageToolkit()
.getNatureId();
return getLanguageToolkit(natureId);
}
public static IDLTKDebugUILanguageToolkit getLanguageToolkit(
String natureId) {
return (IDLTKDebugUILanguageToolkit) getInstance().getObject(natureId);
}
public static IDLTKDebugUILanguageToolkit[] getLanguageToolkits() {
List<IDLTKDebugUILanguageToolkit> toolkits = getInstance()
.getObjectList();
return toolkits
.toArray(new IDLTKDebugUILanguageToolkit[toolkits.size()]);
}
}