01: /*******************************************************************************
02: * Copyright (c) 2000, 2006 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: * A variable that contains the value of an instance or class variable.
16: * <p>
17: * Clients are not intended to implement this interface.
18: * </p>
19: * @see org.eclipse.debug.core.model.IVariable
20: * @since 2.0
21: */
22: public interface IJavaFieldVariable extends IJavaVariable {
23:
24: /**
25: * Returns whether this variable is declared as transient.
26: *
27: * @return whether this variable has been declared as transient
28: * @exception DebugException if this method fails. Reasons include:
29: * <ul><li>Failure communicating with the VM. The DebugException's
30: * status code contains the underlying exception responsible for
31: * the failure.</li></ul>
32: */
33: public boolean isTransient() throws DebugException;
34:
35: /**
36: * Returns whether this variable is declared as volatile.
37: *
38: * @return whether this variable has been declared as volatile
39: * @exception DebugException if this method fails. Reasons include:
40: * <ul><li>Failure communicating with the VM. The DebugException's
41: * status code contains the underlying exception responsible for
42: * the failure.</li></ul>
43: */
44: public boolean isVolatile() throws DebugException;
45:
46: /**
47: * Returns the type that declares this variable.
48: *
49: * @return the type that declares this variable
50: */
51: public IJavaType getDeclaringType();
52:
53: /**
54: * Returns the object that contains this field variable, or <code>null</code>
55: * if no object contains this field variable (static field variable).
56: *
57: * @return the object that contains this field variable
58: * @since 3.0
59: */
60: public IJavaObject getReceiver();
61:
62: /**
63: * Returns the type that contains this field variable.
64: *
65: * @return the type that contains this field variable
66: * @since 3.0
67: */
68: public IJavaReferenceType getReceivingType();
69:
70: }
|