Home |
---|
Un exemple d'utilisation de l'introspection est :
Class beanClass = obj.getClass();
String propertyName = "counter";
BeanInfo beanInfo = Introspector.getBeanInfo(beanClass);
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (int i = 0; i < propertyDescriptors.length; i++) {
PropertyDescriptor propertyDescriptor = propertyDescriptors[i];
String somePropertyName = propertyDescriptor.getName();
if (somePropertyName.equals (propertyName)) {
Method method = propertyDescriptor.getReadMethod(); // Getter
Object result = method.invoke(obj, new Object[0]);
int value = ((Integer)result).intValue() + 1; // Incrémente
method = propertyDescriptor.getWriteMethod(); // Setter
method.invoke(obj, new Object[] { new Integer(value) });
break;
}
}
Des exemples d'introspection sont :
Home |
---|