Whole refactor.
[phpeclipse.git] / net.sourceforge.phpeclipse.xdebug.core / src / net / sourceforge / phpeclipse / xdebug / php / model / XDebugElement.java
1 /**
2  * @author Christian
3  *
4  */
5
6 package net.sourceforge.phpeclipse.xdebug.php.model;
7
8 import net.sourceforge.phpeclipse.xdebug.php.launching.IXDebugConstants;
9 import org.eclipse.core.runtime.PlatformObject;
10 import org.eclipse.debug.core.DebugEvent;
11 import org.eclipse.debug.core.DebugPlugin;
12 import org.eclipse.debug.core.ILaunch;
13 import org.eclipse.debug.core.model.IDebugElement;
14 import org.eclipse.debug.core.model.IDebugTarget;
15
16 public class XDebugElement extends PlatformObject implements IDebugElement {
17         // containing target 
18         private XDebugTarget fTarget;
19         
20         /**
21          * Constructs a new debug element contained in the given
22          * debug target.
23          * 
24          * @param target debug target (PDA VM)
25          */
26         public XDebugElement(XDebugTarget target) {
27                 fTarget = target;
28         }
29         
30         public XDebugElement() {
31                 fTarget = null;
32         }
33         
34         /* (non-Javadoc)
35          * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
36          */
37         public String getModelIdentifier() {
38                 return IXDebugConstants.ID_PHP_DEBUG_MODEL;
39         }
40         /* (non-Javadoc)
41          * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
42          */
43         public IDebugTarget getDebugTarget() {
44                 return fTarget;
45         }
46         
47         /* (non-Javadoc)
48          * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
49          */
50         public ILaunch getLaunch() {
51                 return getDebugTarget().getLaunch();
52         }
53         /* (non-Javadoc)
54          * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
55          */
56         public Object getAdapter(Class adapter) {
57                 if (adapter == IDebugElement.class) {
58                         return this;
59                 }
60                 return super.getAdapter(adapter);
61         }
62         
63         /**
64          * Fires a debug event
65          * 
66          * @param event the event to be fired
67          */
68         protected void fireEvent(DebugEvent event) {
69                 DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {event});
70         }       
71 }