KickJava   Java API By Example, From Geeks To Geeks.

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


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.lang.reflect.Method JavaDoc;
30
31
32 /**
33  *
34  *
35  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>,
36  * <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>
37  *
38  * @version 0.1
39  */

40 public class MethodUtil
41     extends MemberUtil {
42
43     //==================================================================
44
//
45
// Internal states.
46
//
47
//==================================================================
48

49     /** The Method to manipulate */
50     protected Method JavaDoc method_;
51
52     //==================================================================
53
//
54
// Constructors.
55
//
56
//==================================================================
57

58     public MethodUtil(Method JavaDoc method){
59         super();
60         method_ = method;
61     }
62
63     public MethodUtil(Method JavaDoc method, ClassVisibilityConfig config) {
64         super(config);
65         method_ = method;
66     }
67
68     //==================================================================
69
//
70
// No internal method.
71
//
72
//==================================================================
73

74     //==================================================================
75
//
76
// Public methods.
77
//
78
//==================================================================
79

80     /**
81      * Provides an HTML representation of a Field
82      */

83     public String JavaDoc toHTML(){
84         boolean displayParams = config_.get(ClassVisibilityConfig.METHOD + "." + ClassVisibilityConfig.PARAMS);
85         boolean displayReturnType = config_.get(ClassVisibilityConfig.METHOD + "." + ClassVisibilityConfig.RETURN_TYPE);
86         String JavaDoc visibility = getVisibility(method_.getModifiers());
87         StringBuffer JavaDoc name = new StringBuffer JavaDoc((visibility!=null?"<i>"+visibility+"</i>" + " ":"") + "<b>" + method_.getName() + "</b>(");
88         if(displayParams){
89             Class JavaDoc[] params = method_.getParameterTypes();
90             for(int j=0 ; j<params.length ; j++) {
91                 name.append(ClassVisibility.getTypeName(params[j]));
92                 if(j<params.length-1)
93                     name.append(", ");
94             }
95         }
96         name.append(")");
97         if(displayReturnType)
98             name.append(": " + ClassVisibility.getTypeName(method_.getReturnType()));
99         return name.toString();
100     }
101
102 }
103
104
105
106     
Popular Tags