/******************************************************************************* * Copyright (c) 2000, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.debug.core; import org.eclipse.debug.core.DebugException; /** * A variable that contains the value of an instance or class variable. * * @see org.eclipse.debug.core.model.IVariable * @since 2.0 * @noimplement This interface is not intended to be implemented by clients. * @noextend This interface is not intended to be extended by clients. */ public interface IJavaFieldVariable extends IJavaVariable { /** * Returns whether this variable is declared as transient. * * @return whether this variable has been declared as transient * @exception DebugException * if this method fails. Reasons include: * <ul> * <li>Failure communicating with the VM. The * DebugException's status code contains the underlying * exception responsible for the failure.</li> * </ul> */ public boolean isTransient() throws DebugException; /** * Returns whether this variable is declared as volatile. * * @return whether this variable has been declared as volatile * @exception DebugException * if this method fails. Reasons include: * <ul> * <li>Failure communicating with the VM. The * DebugException's status code contains the underlying * exception responsible for the failure.</li> * </ul> */ public boolean isVolatile() throws DebugException; /** * Returns the type that declares this variable. * * @return the type that declares this variable */ public IJavaType getDeclaringType(); /** * Returns the object that contains this field variable, or * <code>null</code> if no object contains this field variable (static field * variable). * * @return the object that contains this field variable * @since 3.0 */ public IJavaObject getReceiver(); /** * Returns the type that contains this field variable. * * @return the type that contains this field variable * @since 3.0 */ public IJavaReferenceType getReceivingType(); }