org.eclipse.jdt.debug.core

## Interface IJavaVariable

All Superinterfaces:
  IAdaptable, IDebugElement, IJavaModifiers, IValueModification, IVariable

All Known Subinterfaces:
  IJavaFieldVariable

    public interface IJavaVariable
    extends IVariable, IJavaModifiers

A local variable, field slot, or receiver (this) in a Java virtual machine.

See Also:
  `IVariable`
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

### Method Summary

All Methods Instance Methods Abstract Methods
`String` `getGenericSignature()` Returns the generic signature as defined in the JVM specification for the declared type of this variable, or `null` if the type associated with the signature is not yet loaded in the target VM.
`IJavaType` `getJavaType()` Returns the declared type of this variable.
`String` `getSignature()` Returns the JNI-style signature for the declared type of this variable, or `null` if the type associated with the signature is not yet loaded in the target VM.
`boolean` `isLocal()` Returns whether this variable is local.

### Methods inherited from interface org.eclipse.debug.core.model.IVariable

`getName, getReferenceTypeName, getValue, hasValueChanged`

### Methods inherited from interface org.eclipse.debug.core.model.IDebugElement

`getDebugTarget, getLaunch, getModelIdentifier`

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Methods inherited from interface org.eclipse.debug.core.model.IValueModification

`setValue, setValue, supportsValueModification, verifyValue, verifyValue`

### Methods inherited from interface org.eclipse.jdt.debug.core.IJavaModifiers

`isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isSynthetic`

### Method Detail

#### getSignature

    String getSignature()
                 throws DebugException

Returns the JNI-style signature for the declared type of this variable, or `null` if the type associated with the signature is not yet loaded in the target VM.

Returns:
  signature, or `null` if not accessible
Throws:
  `DebugException` - if this method fails. Reasons include:
  - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
  - The type associated with the signature is not yet loaded

#### getGenericSignature

    String getGenericSignature()
                        throws DebugException

Returns the generic signature as defined in the JVM specification for the declared type of this variable, or `null` if the type associated with the signature is not yet loaded in the target VM. Returns the same value as #getSignature() if the declared type of this variable is not a generic type.

Returns:
  generic signature, or `null` if not accessible
Throws:
  `DebugException` - if this method fails. Reasons include:
  - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
  - The type associated with the signature is not yet loaded
Since:
  3.1

#### getJavaType

    IJavaType getJavaType()
                   throws DebugException

Returns the declared type of this variable.

Returns:
  the declared type of this variable
Throws:
  `DebugException` - if this method fails. Reasons include:
  - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
  - The type associated with the signature is not yet loaded
Since:
  2.0

#### isLocal

    boolean isLocal()
             throws DebugException

Returns whether this variable is local.

Returns:
  whether this variable is a local variable
Throws:
  `DebugException` - if this method fails. Reasons include:
  - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
Since:
  2.1