KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > explorer > plugin > java > reflect > TreeInheritanceContext


1 /*====================================================================
2
3 Objectweb Explorer Framework
4 Copyright (C) 2000-2004 INRIA - USTL - LIFL - GOAL
5 Contact: openccm@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Jerome Moroy, Philippe Merle.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.util.explorer.plugin.java.reflect;
28
29 import java.util.List JavaDoc;
30 import java.util.Map JavaDoc;
31 import java.util.Vector JavaDoc;
32
33 import org.objectweb.util.explorer.api.Context;
34 import org.objectweb.util.explorer.api.Entry;
35 import org.objectweb.util.explorer.core.naming.lib.DefaultEntry;
36
37 /**
38  * This class allows to browse a <code>TreeInheritance</code> object.
39  *
40  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>,
41  * <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>
42  *
43  * @version 0.1
44  */

45 public class TreeInheritanceContext
46     implements Context
47 {
48
49     //==================================================================
50
//
51
// Internal states.
52
//
53
//==================================================================
54

55     /** Contains the configuration for each class */
56     protected static Map JavaDoc config_;
57
58     /** The key of the default configuration entry */
59     public static final String JavaDoc DEFAULT_CONFIG = "_default_config_";
60
61     //==================================================================
62
//
63
// No constructor.
64
//
65
//==================================================================
66

67     //==================================================================
68
//
69
// No internal method.
70
//
71
//==================================================================
72

73     //==================================================================
74
//
75
// Public methods for Context interface.
76
//
77
//==================================================================
78

79     /* (non-Javadoc)
80      * @see org.objectweb.util.explorer.api.Context#getEntries(java.lang.Object)
81      */

82     public Entry[] getEntries(Object JavaDoc object) {
83         TreeInheritance treeInheritance = (TreeInheritance)object;
84         List JavaDoc entryList = new Vector JavaDoc();
85         Class JavaDoc class_ = treeInheritance._getClass();
86         Class JavaDoc superClass = class_.getSuperclass();
87         if(superClass!=null){
88             entryList.add(new DefaultEntry(superClass.getName(),superClass));
89         }
90         Class JavaDoc[] interfaces = class_.getInterfaces();
91         for (int i = 0; i < interfaces.length; i++) {
92             entryList.add(new DefaultEntry(interfaces[i].getName(),interfaces[i]));
93         }
94         return (Entry[])entryList.toArray(new Entry[0]);
95     }
96
97 }
Popular Tags