KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jfree > xml > generator > model > PrintBeanInfo


1 /* ========================================================================
2  * JCommon : a free general purpose class library for the Java(tm) platform
3  * ========================================================================
4  *
5  * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
6  *
7  * Project Info: http://www.jfree.org/jcommon/index.html
8  *
9  * This library is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful, but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
17  * License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
22  * USA.
23  *
24  * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
25  * in the United States and other countries.]
26  *
27  * ------------------
28  * PrintBeanInfo.java
29  * ------------------
30  * (C)opyright 2003, 2004, by Thomas Morgner and Contributors.
31  *
32  * Original Author: Thomas Morgner;
33  * Contributor(s): David Gilbert (for Object Refinery Limited);
34  *
35  * $Id: PrintBeanInfo.java,v 1.3 2005/10/18 13:32:37 mungady Exp $
36  *
37  * Changes
38  * -------
39  * 21.06.2003 : Initial version (TM);
40  *
41  */

42
43 package org.jfree.xml.generator.model;
44
45 import java.beans.BeanInfo JavaDoc;
46 import java.beans.IndexedPropertyDescriptor JavaDoc;
47 import java.beans.IntrospectionException JavaDoc;
48 import java.beans.Introspector JavaDoc;
49 import java.beans.PropertyDescriptor JavaDoc;
50
51 /**
52  * A utility class for printing information about a class.
53  */

54 public class PrintBeanInfo {
55
56   private PrintBeanInfo ()
57   {
58   }
59
60     /**
61      * Prints the information for a class.
62      *
63      * @param c the class.
64      */

65     public static void print (final Class JavaDoc c) {
66         try {
67             System.out.println("Class: " + c.getName());
68             System.out.println(
69                 "========================================================================"
70             );
71             final BeanInfo JavaDoc bi = Introspector.getBeanInfo(c, c.getSuperclass());
72             final PropertyDescriptor JavaDoc[] pd = bi.getPropertyDescriptors();
73             for (int i = 0; i < pd.length; i++) {
74                 System.out.println ("Property: " + pd[i].getDisplayName());
75                 System.out.println(
76                     "---------------------------------------------------------------------"
77                 );
78                 System.out.println (" ( " + pd[i].getShortDescription() + ")");
79                 if (pd[i] instanceof IndexedPropertyDescriptor JavaDoc) {
80                     final IndexedPropertyDescriptor JavaDoc id = (IndexedPropertyDescriptor JavaDoc) pd[i];
81                     System.out.println (" - idx-type : " + id.getIndexedPropertyType());
82                     System.out.println (" - idx-read : " + id.getIndexedReadMethod());
83                     System.out.println (" - idx-write : " + id.getIndexedWriteMethod());
84                 }
85                 else {
86                     System.out.println (" - type : " + pd[i].getPropertyType());
87                     System.out.println (" - read : " + pd[i].getReadMethod());
88                     System.out.println (" - write : " + pd[i].getWriteMethod());
89                 }
90                 System.out.println (" - bound : " + pd[i].isBound());
91                 System.out.println (" - constrained: " + pd[i].isConstrained());
92             }
93         }
94         catch (IntrospectionException JavaDoc ie) {
95             ie.printStackTrace();
96         }
97     }
98
99     /**
100      * Entry point for this utility application.
101      *
102      * @param args the class names.
103      *
104      * @throws Exception if there is a problem.
105      */

106     public static void main(final String JavaDoc[] args) throws Exception JavaDoc {
107         for (int i = 0; i < args.length; i++) {
108             print(Class.forName(args[i]));
109         }
110     }
111
112 }
113
Popular Tags