KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > killingar > BeanUtil


1 /* Copyright 2000-2005 Anders Hovmöller
2  *
3  * The person or persons who have associated their work with
4  * this document (the "Dedicator") hereby dedicate the entire
5  * copyright in the work of authorship identified below (the
6  * "Work") to the public domain.
7  *
8  * Dedicator makes this dedication for the benefit of the
9  * public at large and to the detriment of Dedicator's heirs
10  * and successors. Dedicator intends this dedication to be an
11  * overt act of relinquishment in perpetuity of all present
12  * and future rights under copyright law, whether vested or
13  * contingent, in the Work. Dedicator understands that such
14  * relinquishment of all rights includes the relinquishment of
15  * all rights to enforce (by lawsuit or otherwise) those
16  * copyrights in the Work.
17  *
18  * Dedicator recognizes that, once placed in the public
19  * domain, the Work may be freely reproduced, distributed,
20  * transmitted, used, modified, built upon, or otherwise
21  * exploited by anyone for any purpose, commercial or non-
22  * commercial, and in any way, including by methods that have
23  * not yet been invented or conceived.
24  */

25
26 package net.killingar;
27
28 import java.beans.PropertyDescriptor JavaDoc;
29 import java.lang.reflect.Method JavaDoc;
30
31 public class BeanUtil extends webwork.util.BeanUtil
32 {
33     private static final Object JavaDoc[] readParameters = new Object JavaDoc[0];
34
35     public static Object JavaDoc getProperty(String JavaDoc key, Object JavaDoc from) throws IllegalArgumentException JavaDoc
36     {
37         try
38         {
39             PropertyDescriptor JavaDoc pdFrom = new PropertyDescriptor JavaDoc(key, from.getClass());
40
41             Method JavaDoc readMethod = pdFrom.getReadMethod();
42             if (readMethod != null)
43                 return pdFrom.getReadMethod().invoke(from, readParameters);
44
45             throw new IllegalArgumentException JavaDoc("Bean copy failed, read method for "+key+" not found");
46         }
47         catch (Exception JavaDoc e)
48         {
49             e.printStackTrace();
50             throw new IllegalArgumentException JavaDoc("Bean copy failed:" + e);
51         }
52     }
53 }
Popular Tags