package net.sf.eclipsefp.haskell.debug.core.internal.debug;
import net.sf.eclipsefp.haskell.debug.core.internal.HaskellDebugCore;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.model.IDebugElement;
/**
* Common superclass for debug element
* @author JP Moresmau
*
*/
public abstract class HaskellDebugElement implements IDebugElement {
protected HaskellDebugTarget target;
public HaskellDebugElement(){
// NOOP
}
public HaskellDebugElement(final HaskellDebugTarget target){
setTarget( target );
}
@Override
public HaskellDebugTarget getDebugTarget() {
return target;
}
void setTarget( final HaskellDebugTarget target ) {
this.target = target;
}
@Override
public ILaunch getLaunch() {
return getDebugTarget().getLaunch();
}
@Override
public String getModelIdentifier() {
return HaskellDebugCore.ID_HASKELL_DEBUG_MODEL;
}
@Override
public Object getAdapter(
@SuppressWarnings("rawtypes") final Class adapter ) {
if (adapter.isAssignableFrom(this.getClass() )){
return this;
}
return null;
}
}