KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > debugger > jpda > models > SuperVariable


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.debugger.jpda.models;
21
22 import com.sun.jdi.ClassType;
23 import com.sun.jdi.ObjectReference;
24
25 import org.netbeans.api.debugger.jpda.Super;
26 import org.netbeans.modules.debugger.jpda.JPDADebuggerImpl;
27
28
29 /**
30  * @author Jan Jancura
31  */

32 class SuperVariable extends AbstractVariable implements Super {
33
34     // init ....................................................................
35
private ClassType classType;
36
37
38     SuperVariable (
39         JPDADebuggerImpl debugger,
40         ObjectReference value,
41         ClassType classType,
42         String JavaDoc parentID
43     ) {
44         super (
45             debugger,
46             value,
47             parentID + ".super^"
48         );
49         this.classType = classType;
50     }
51
52     
53     // Super impl ..............................................................
54

55     public Super getSuper () {
56         if (getInnerValue () == null)
57             return null;
58         ClassType superType = this.classType.superclass ();
59         if (superType == null)
60             return null;
61         return new SuperVariable(
62                 this.getDebugger(),
63                 (ObjectReference) this.getInnerValue(),
64                 superType,
65                 this.getID()
66                 );
67     }
68
69     public SuperVariable clone() {
70         return new SuperVariable(getDebugger(), (ObjectReference) getJDIValue(), classType,
71                 getID().substring(0, getID().length() - ".super^".length()));
72     }
73     
74     // other methods ...........................................................
75

76     public String JavaDoc toString () {
77         return "SuperVariable " + getType();
78     }
79     
80     public String JavaDoc getType () {
81         return this.classType.name ();
82     }
83 }
84
Popular Tags