Inselupdate: Properties einer Bean erfragen
Eine Bean besitzt Properties (Eigenschaften), die in Java (bisher) durch Setter und Getter ausgedrückt werden, also Methoden, die einer festen Namenskonvention folgen. Gibt es Interesse an den Properties, lässt sich natürlich getMethods() auf dem Class-Objekt aufrufen und nach den Methoden filtern, die der Namenskonvention entsprechen. Die Java-Bibliothek bietet aber im Paket java.beans eine einfachere Lösung für Beans: einen PropertyDescriptor.
Beispiel Gebe alle Properties – es gibt nur lesbare – von Color aus:
Listing 21.9 com/tutego/insel/meta/PropertyDescriptors.java, main()
BeanInfo beanInfo = Introspector.getBeanInfo( Color.class );
for ( PropertyDescriptor pd : beanInfo.getPropertyDescriptors() )
System.out.println( pd.getDisplayName() + " : " +
pd.getPropertyType().getName() );
Die Ausgabe ist
RGB : intInteressanter sind vom PropertyDescriptor die Methoden getReadMethod() und getWriteMethod(), die beides ein Method-Objekt liefern – wenn das denn verfügbar ist – um so die Methode gleich aufrufen zu können.
alpha : int
blue : int
class : java.lang.Class
colorSpace : java.awt.color.ColorSpace
green : int
red : int
transparency : int
Labels: Insel

0 Comments:
Kommentar veröffentlichen
<< Home