KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*====================================================================
2
3 Objectweb Browser Framework
4 Copyright (C) 2000-2003 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): Philippe Merle, Jerome Moroy.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.util.browser.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.browser.api.Context;
34 import org.objectweb.util.browser.api.Entry;
35 import org.objectweb.util.browser.api.Wrapper;
36 import org.objectweb.util.browser.core.naming.DefaultEntry;
37 import org.objectweb.util.browser.core.naming.DefaultName;
38
39 /**
40  * This class allows to browse a <code>TreeInheritance</code> object.
41  *
42  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>,
43  * <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>
44  *
45  * @version 0.1
46  */

47 public class TreeInheritanceContext
48     implements Wrapper, Context {
49
50     //==================================================================
51
//
52
// Internal states.
53
//
54
//==================================================================
55

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

71     //==================================================================
72
//
73
// No internal method.
74
//
75
//==================================================================
76

77     //==================================================================
78
//
79
// Public methods for Context interface.
80
//
81
//==================================================================
82

83     /**
84      * Returns an array containing the entries contained by the context.
85      * @return The entries of the context.
86      */

87     public Entry[] getEntries() {
88         List JavaDoc entryList = new Vector JavaDoc();
89         Class JavaDoc class_ = treeInheritance_._getClass();
90         Class JavaDoc superClass = class_.getSuperclass();
91         if(superClass!=null){
92             entryList.add(new DefaultEntry(superClass,new DefaultName(superClass.getName()),this));
93         }
94         Class JavaDoc[] interfaces = class_.getInterfaces();
95         for (int i = 0; i < interfaces.length; i++) {
96             entryList.add(new DefaultEntry(interfaces[i],new DefaultName(interfaces[i].getName()),this));
97         }
98         return (Entry[])entryList.toArray(new Entry[0]);
99     }
100
101     //==================================================================
102
//
103
// Public methods for Wrapper interface.
104
//
105
//==================================================================
106

107     /**
108      * Sets the wrapped object.
109      *
110      * @param object The object to wrap.
111      */

112     public void
113     setWrapped(Object JavaDoc object) {
114         treeInheritance_ = (TreeInheritance)object;
115     }
116
117     /**
118      * Gets the wrapped object.
119      *
120      * @return The wrapped object.
121      */

122     public Object JavaDoc
123     getWrapped() {
124         return treeInheritance_;
125     }
126
127 }
Popular Tags