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.jdt.debug.core; 12 13 14 import org.eclipse.debug.core.DebugException; 15 import org.eclipse.debug.core.model.IValue; 16 17 /** 18 * An object, primitive data type, or array, on a Java virtual machine. 19 * <p> 20 * Clients are not intended to implement this interface. 21 * </p> 22 * @see org.eclipse.debug.core.model.IValue 23 */ 24 public interface IJavaValue extends IValue { 25 /** 26 * Returns the JNI-style signature for the type of this 27 * value, or <code>null</code> if the value is <code>null</code>. 28 * 29 * @return signature, or <code>null</code> if signature is <code>null</code> 30 * @exception DebugException if this method fails. Reasons include: 31 * <ul><li>Failure communicating with the VM. The DebugException's 32 * status code contains the underlying exception responsible for 33 * the failure.</li> 34 * <li>The type associated with the signature is not yet loaded</li></ul> 35 */ 36 public String getSignature() throws DebugException; 37 38 /** 39 * Returns the generic signature as defined in the JVM 40 * specification for the type of this value. 41 * Returns <code>null</code> if the value is <code>null</code>, 42 * or if the type of this value is not a generic type. 43 * 44 * @return signature, or <code>null</code> if generic signature not available 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 * <li>The type associated with the signature is not yet loaded</li></ul> 50 * @since 3.1 51 */ 52 public String getGenericSignature() throws DebugException; 53 54 /** 55 * Returns the type of this value, or <code>null</code> 56 * if this value represents the <code>null</code> value 57 * 58 * @return the type of this value, or <code>null</code> 59 * if this value represents the <code>null</code> value 60 * 61 * @since 2.0 62 */ 63 public IJavaType getJavaType() throws DebugException; 64 65 } 66 67 68