KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > aspectj > debugger > gui > AdviceNode


1 /* -*- Mode: JDE; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 *
3 * This file is part of the debugger and core tools for the AspectJ(tm)
4 * programming language; see http://aspectj.org
5 *
6 * The contents of this file are subject to the Mozilla Public License
7 * Version 1.1 (the "License"); you may not use this file except in
8 * compliance with the License. You may obtain a copy of the License at
9 * either http://www.mozilla.org/MPL/ or http://aspectj.org/MPL/.
10 *
11 * Software distributed under the License is distributed on an "AS IS" basis,
12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 * for the specific language governing rights and limitations under the
14 * License.
15 *
16 * The Original Code is AspectJ.
17 *
18 * The Initial Developer of the Original Code is Xerox Corporation. Portions
19 * created by Xerox Corporation are Copyright (C) 1999-2002 Xerox Corporation.
20 * All Rights Reserved.
21 */

22 package org.aspectj.debugger.gui;
23
24 import org.aspectj.tools.ide.*;
25 import java.util.*;
26
27 public class AdviceNode extends AJTreeNode
28                         implements Sourceable,
29                                     Breakable,
30                                     Advisable {
31     protected Declaration dec;
32     public AdviceNode(Declaration dec) {
33         super(AJIcons.ADVICE_ICON);
34         setUserObject((this.dec = dec).getSignature());
35         setAlwaysExpand(true);
36     }
37
38     public String JavaDoc getToolTipText() {
39         if (dec == null) {
40             //System.out.println(this + " dec is null");
41
return "no declaration";
42         }
43         if (dec.getCrosscutDeclaration() == null) {
44             //System.out.println(this + " crosscut.dec is null");
45
return "no crosscut declaration";
46         }
47         return showClass() + dec.getSignature() + " : " +
48                dec.getCrosscutDeclaration().getSignature();
49     }
50
51     protected String JavaDoc showClass() {
52         if (getParent() instanceof MethodNode) {
53             return dec.getDeclaringType() + ".";
54         }
55         return "";
56     }
57
58     public void showOnSource(AbstractSourcePane sourcePane) {
59         sourcePane.showSourceForFileAndLine(dec.getFilename(), dec.getBeginLine());
60     }
61
62     public String JavaDoc getBreakpoint() {
63         return AJLineMapper.removeRoot(dec.getFilename()) + ":" + dec.getBeginLine();
64     }
65
66     public List getAdvisedMethodStrings() {
67         List methods = new Vector();
68         if (children == null) return methods;
69         Iterator iter = children.iterator();
70         while (iter.hasNext()) {
71             methods.add(((MethodNode) iter.next()).getBreakpoint());
72         }
73         return methods;
74     }
75 }
76
Popular Tags