Beans

JavaBeans sind Software-Komponenten für die Programmiersprache Java. JavaBeans entwickelten sich aus der Notwendigkeit heraus, GUI-Klassen (AWT, Swing) einfach instanziieren (Reflexion) und übertragen (RMI) zu können. JavaBeans werden auch als Container zur Datenübertragung verwendet. Daher zeichnen sich alle JavaBeans durch folgende Eigenschaften aus:

Auf Grund dieser Eigenschaften eignen sich JavaBeans auch als Datenobjekte für Persistenzframeworks (siehe Enterprise JavaBeans).

Inhaltsverzeichnis

Überblick

Eine JavaBean ist eine Java-Klasse, die einem Komponentenmodell entspricht, um automatisierten Zugriff auf ihre Eigenschaften (Membervariablen) und Operationen zu erlauben. Das Java-SDK stellt Anwendungsentwicklern die Bean-API (das Paket java.beans) zur Verfügung, um beispielsweise eine Kurzbeschreibung einer Bean anzuzeigen. Das JavaBean-Komponentenmodell wurde vor allem entwickelt, um eine einheitliche API zur einfacheren Entwicklung von GUI-Buildern bereitzustellen. Beans realisieren eine verbesserte Serialisierung und damit Netzwerkfähigkeit, Wiederverwendbarkeit, Portabilität und Interoperabilität.

Eine Komponente ist nur dann eine JavaBean, wenn sie der JavaBeans API Specification entspricht, welche die JavaBeans Component Architecture spezifiziert.

Instanzierung

Eine JavaBean besitzt immer einen Konstruktor ohne Argumente (Standardkonstruktor). Dies ermöglicht eine standardisierte Instanziierung, beispielsweise einer Schaltfläche:

JButton button = (JButton) Class.forName("javax.swing.JButton").newInstance();

Eine Alternative dieser Instanziierung funktioniert wie folgt:

JButton button = new JButton();

Zugriffsoperationen

Alle Eigenschaften einer Bean wahren das Geheimnisprinzip (information hiding). Der Zugriff ist über spezielle Operationen möglich, die bestimmten Konventionen entsprechen müssen.

Für eine Eigenschaft foo heißt die lesende Operation (Getter) getFoo. Bei booleschen Variablen ist alternativ auch isFoo möglich, was allgemein vorgezogen wird. Die schreibende (Setter) Operation heißt setFoo. Indizierte Eigenschaften besitzen jeweils zwei Getter und Setter: Einen für die Gesamtheit, einen für einen bestimmten Index. Eine schreibgeschützte Eigenschaft besitzt keinen (öffentlichen) Setter.

Introspektion

Introspektion ist der Mechanismus, eine Bean auf ihre Eigenschaften, Ereignisse (Events) und Operationen zu analysieren. Die API bietet dabei Möglichkeiten, die eine zusätzliche Unterstützung zur Introspektion von Seiten des Bean-Entwicklers unnötig machen. Beans können per Reflexion untersucht werden, wenn sie sich an die in der Spezifikation definierten Konventionen halten.

Ferner gibt es die Möglichkeit, für jede Bean eine BeanInfo-Klasse zu schreiben, die Informationen über die Bean, ihre Eigenschaften und Operationen enthält. Die Klasse Introspector sucht erst nach expliziten Informationen und vervollständigt diese durch Reflexion.

Weiteres

Bei der Änderung einer Bound Property (gebundene Eigenschaft) müssen Objekte über die Änderung informiert werden. Bei Constrained Properties können diese zudem ein Veto einlegen. Die Bean-API stellt hierfür ein Event Delegation Model bereit. Es können grafische Editoren und Customizer für bestimmte Datentypen und Beans erstellt und durch sie Eigenschaften bequem angepasst werden.

Es gibt einen Persistenzmechanismus für Beans. So können Beans beispielsweise als XML-Dokument gespeichert werden.

Um eine Java-Bean für einen visuellen Editor einsatzfähig zu machen, muss die Class-Datei in eine jar-Datei gepackt werden, die auch eine Manifest-Datei (.mf) enthalten muss.

Literatur

  • Olaf Zwintzscher: Software-Komponenten im Überblick. W3L 2004, ISBN 3937137602

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Beans — Saltar a navegación, búsqueda Beans (también conocido como Mr Ballbeam) es un MC de Estados Unidos. Trayectoria Fue uno de los fundadores del grupo de rap alternativo Antipop Consortium, que se disolvió en 2002. Con Warp Records, Beans ha hecho… …   Wikipedia Español

  • Beans — Beans,   Java Beans …   Universal-Lexikon

  • beans — 1. n. nothing. □ You act like you don’t know beans about it. □ I have nothing I can give you. Nothing, zotz, beans! 2. n. nonsense. (Refers to beans that produce gas, which is hot air or nonsense.) □ Come on, talk straight. No more beans! …   Dictionary of American slang and colloquial expressions

  • beans — n. (Slang) small amount, not much (e.g. I know beans about music ); (Slang) person s head; (Slang) money (e.g., I ve worked for this company for fifteen years, but I still don t have beans ); (Drug related Slang) crack, cocaine; mescaline;… …   English contemporary dictionary

  • Beans — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Beans (haricots en anglais) se rapporte à : Beans, un rappeur new yorkais ; JavaBeans, une technologie informatique de composants logiciels… …   Wikipédia en Français

  • beans — n pl American dollars. A humorous synonym possibly influenced by the colloquialism a hill of beans , meaning something worth very little. ► At least we re sitting on around a hun dred beans from my brilliant idea. (Planes, Trains and Automobiles …   Contemporary slang

  • beans — 1. n. nonsense. Oh, beans. 2. n. nothing. You don t know beans about this …   English slang

  • beans —  See full of beans and spill the beans …   A concise dictionary of English slang

  • beans — whatever What movie should we go see tonight? Beans …   Dictionary of american slang

  • beans — whatever What movie should we go see tonight? Beans …   Dictionary of american slang

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”