Composite<Component> Erklärungen

Hallo, ich bin in den Solutions auf Composite<Component>, also bspw. ClassX extends Composite<VerticalLayout> gestoßen.
Ich finde nirgendwo dazu Erklärungen was es damit auf sich hat.

Gibt es dazu Hilfen, Erklärungen etc. ? Wozu ist dieses Composite ?

Danke für jede Hilfe

Hallo,

ich denke, hier ist es ganz gut erklärt:

https://vaadin.com/docs/v15/flow/creating-components/tutorial-component-composite.html

Nehmen wir an Du benötigst eine neue Komponente mit zwei Datums “Von” und “Bis”. Dann brauchst Du ein Layout auf den Du zwei DatePicker platzierst. Nehmen wir an Du leitest von HorizontalLayout ab.

Problem ist dann, dass Du in der Anwendung, bei der Verwendung der Komponente, dann Sachen auf der Komponente aufrufen kannst wie removeAll() und Deine Komponete bekommt einen ungültigen (kaputten) Zustand.

Mit Composite sind dann keine internen Methoden mehr aufrufbar. Du musst die erlaubte API selbst definieren und hast die volle Kontrolle.

Danke