KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > sun > share > config > ui > DefaultBeanInfo


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 /*
21  * DefaultBeanInfo.java
22  *
23  * Created on August 20, 2001, 3:42 PM
24  */

25
26 package org.netbeans.modules.j2ee.sun.share.config.ui;
27
28 import java.beans.*;
29 import java.lang.reflect.*;
30 import java.util.*;
31
32
33 /**
34  *
35  * @author gfink
36  * @version
37  */

38 public class DefaultBeanInfo extends SimpleBeanInfo {
39
40     final Class JavaDoc cls;
41
42     /** Creates new DefaultBeanInfo */
43     public DefaultBeanInfo(Class JavaDoc cls) {
44         this.cls = cls;
45     }
46
47     public BeanDescriptor getBeanDescriptor() {
48         return new BeanDescriptor(cls);
49     }
50
51     public PropertyDescriptor[] getPropertyDescriptors() {
52         Method[] methods = cls.getDeclaredMethods();
53         Collection c = new Vector();
54         for(int i = 0; i < methods.length; i++) {
55             try {
56             String JavaDoc method = methods[i].getName();
57             if(method.startsWith("get") && methods[i].getParameterTypes().length == 0) { // NOI18N
58
StringBuffer JavaDoc name = (new StringBuffer JavaDoc(method.substring(3)));
59                 name.setCharAt(0,Character.toLowerCase(method.charAt(3)));
60                 String JavaDoc propertyName = name.toString();
61                 PropertyDescriptor pd;
62                 if(methods[i].getReturnType().isArray())
63                    pd = new IndexedPropertyDescriptor(propertyName,cls);
64                 else pd = new PropertyDescriptor(propertyName,cls);
65 // System.err.println(pd.getName());
66
// System.err.println(pd.getDisplayName());
67
// System.err.println(pd.getPropertyType());
68
c.add(pd);
69             }
70             } catch (Exception JavaDoc e) {
71             }
72         }
73         PropertyDescriptor[] ret = new PropertyDescriptor[c.size()];
74         c.toArray(ret);
75         return ret;
76     }
77 }
78
Popular Tags