/** * @author Christian * */ package net.sourceforge.phpeclipse.xdebug.php.model; import net.sourceforge.phpeclipse.xdebug.php.launching.IXDebugConstants; import org.eclipse.core.runtime.PlatformObject; import org.eclipse.debug.core.DebugEvent; import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.model.IDebugElement; import org.eclipse.debug.core.model.IDebugTarget; public class XDebugElement extends PlatformObject implements IDebugElement { // containing target private XDebugTarget fTarget; /** * Constructs a new debug element contained in the given * debug target. * * @param target debug target (PDA VM) */ public XDebugElement(XDebugTarget target) { fTarget = target; } public XDebugElement() { fTarget = null; } /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier() */ public String getModelIdentifier() { return IXDebugConstants.ID_PHP_DEBUG_MODEL; } /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget() */ public IDebugTarget getDebugTarget() { return fTarget; } /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getLaunch() */ public ILaunch getLaunch() { return getDebugTarget().getLaunch(); } /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ public Object getAdapter(Class adapter) { if (adapter == IDebugElement.class) { return this; } return super.getAdapter(adapter); } /** * Fires a debug event * * @param event the event to be fired */ protected void fireEvent(DebugEvent event) { DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {event}); } }