1 /******************************************************************************* 2 * Copyright (c) 2000, 2005 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.debug.core.model; 12 13 14 import org.eclipse.core.runtime.IAdaptable; 15 import org.eclipse.debug.core.ILaunch; 16 17 /** 18 * A debug element represents an artifact in a program being 19 * debugged. 20 * <p> 21 * Some methods on debug elements require communication 22 * with the target program. Such methods may throw a <code>DebugException</code> 23 * with a status code of <code>TARGET_REQUEST_FAILED</code> 24 * when unable to complete a request due to a failure on the target. 25 * Methods that require communication with the target program or require 26 * the target to be in a specific state (for example, suspended), are declared 27 * as such. 28 * </p> 29 * <p> 30 * Debug elements are language independent. However, language specific 31 * features can be made available via the adapter mechanism provided by 32 * <code>IAdaptable</code>, or by extending the debug element interfaces. 33 * A debug model is responsible for declaring any special adapters 34 * its debug elements implement. 35 * </p> 36 * <p> 37 * Clients may implement this interface. 38 * </p> 39 */ 40 public interface IDebugElement extends IAdaptable { 41 42 /** 43 * Returns the unique identifier of the plug-in 44 * this debug element originated from. 45 * 46 * @return the plug-in identifier 47 */ 48 public String getModelIdentifier(); 49 /** 50 * Returns the debug target this element is contained in. 51 * 52 * @return the debug target this element is contained in 53 */ 54 public IDebugTarget getDebugTarget(); 55 /** 56 * Returns the launch this element is contained in. 57 * 58 * @return the launch this element is contained in 59 */ 60 public ILaunch getLaunch(); 61 } 62 63 64