diff options
Diffstat (limited to 'libjava/classpath/gnu/classpath/jdwp/id/StringId.java')
-rw-r--r-- | libjava/classpath/gnu/classpath/jdwp/id/StringId.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libjava/classpath/gnu/classpath/jdwp/id/StringId.java b/libjava/classpath/gnu/classpath/jdwp/id/StringId.java index ea1a83a56a2..1ba8f6d4d01 100644 --- a/libjava/classpath/gnu/classpath/jdwp/id/StringId.java +++ b/libjava/classpath/gnu/classpath/jdwp/id/StringId.java @@ -40,6 +40,7 @@ exception statement from your version. */ package gnu.classpath.jdwp.id; import gnu.classpath.jdwp.JdwpConstants; +import gnu.classpath.jdwp.exception.InvalidStringException; /** * A class which represents a JDWP string id @@ -61,4 +62,21 @@ public class StringId { super (JdwpConstants.Tag.STRING); } + + /** + * Gets the String represented by this ID + * + * @throws InvalidStringException if String is garbage collected, + * or otherwise invalid + */ + public String getString () + throws InvalidStringException + { + String string = (String) _reference.get (); + + if (string == null) + throw new InvalidStringException (getId ()); + + return string; + } } |