Just playing with JavaBeans, so here's a small example to create a simple JavaBean, set a property and read it.
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class SimpleBean {
private final String name = "SimpleBean";
private int size;
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public String getName() {
return name;
}
public static void main(String[] args) throws IntrospectionException {
SimpleBean sb = new SimpleBean();
sb.setSize(59);
BeanInfo bi = Introspector.getBeanInfo(sb.getClass());
for (PropertyDescriptor pd : bi.getPropertyDescriptors()) {
testGetValue(sb, pd);
}
}
public static void testGetValue(Object sb, PropertyDescriptor pd) {
System.out.print(pd.getName() + "=");
Method getter = pd.getReadMethod();
Object arg1[] = {};
try {
Object value = getter.invoke(sb, arg1);
System.out.println(value);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
The output of the program is:
class=class SimpleBean name=SimpleBean size=59
No comments:
Post a Comment