01: /*******************************************************************************
02: * Copyright (c) 2000, 2005 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.jdt.debug.core;
11:
12: import org.eclipse.debug.core.DebugException;
13:
14: /**
15: * An interface an object implements on a Java debug target.
16: * <p>
17: * Clients are not intended to implement this interface.
18: * </p>
19: * @see IJavaValue
20: * @since 2.0
21: */
22: public interface IJavaInterfaceType extends IJavaReferenceType {
23:
24: /**
25: * Returns the class objects associated with the implementors of this interface type.
26: * Returns an empty array if there are none.
27: *
28: * @return the class objects associated with the implementors of this interface type
29: * @exception DebugException if this method fails. Reasons include:
30: * <ul><li>Failure communicating with the VM. The DebugException's
31: * status code contains the underlying exception responsible for
32: * the failure.</li>
33: * </ul>
34: * @since 3.0
35: */
36: public IJavaClassType[] getImplementors() throws DebugException;
37:
38: /**
39: * Returns the interface objects associated with the sub-interfaces of this interface type.
40: * Returns an empty array if there are none. The sub-interfaces are those interfaces
41: * that directly extend this interface, that is, those interfaces that declared this interface
42: * in their <code>extends</code> clause.
43: *
44: * @return the interface objects associated with the sub-interfaces of this interface type
45: * @exception DebugException if this method fails. Reasons include:
46: * <ul><li>Failure communicating with the VM. The DebugException's
47: * status code contains the underlying exception responsible for
48: * the failure.</li>
49: * </ul>
50: * @since 3.0
51: */
52: public IJavaInterfaceType[] getSubInterfaces()
53: throws DebugException;
54:
55: /**
56: * Returns the interface objects associated with the super-interfaces of this interface type.
57: * Returns an empty array if there are none. The super-interfaces are those interfaces
58: * that are directly extended by this interface, that is, those interfaces that this
59: * interface declared to be extended.
60: *
61: * @return the interface objects associated with the super-interfaces of this interface type
62: * @exception DebugException if this method fails. Reasons include:
63: * <ul><li>Failure communicating with the VM. The DebugException's
64: * status code contains the underlying exception responsible for
65: * the failure.</li>
66: * </ul>
67: * @since 3.0
68: */
69: public IJavaInterfaceType[] getSuperInterfaces()
70: throws DebugException;
71: }
|