„Object-Graph Navigation Language“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
KL052 (Diskussion | Beiträge) K Überschrift korrigiert |
K →Beispiele: Formatierung, Wording |
||
Zeile 8: | Zeile 8: | ||
== Beispiele == |
== Beispiele == |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
* das daraus resultierende int wird wiederum in einem Integer-Objekt gekapselt, welches durch Aufrufen der Methode toString() in einen String verwandelt wird. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
* der daraus resultierende <code>int</code>-Wert wird in einem <code>Integer</code>-Objekt gekapselt, |
|||
* das durch Aufrufen der Methode <code>toString()</code> in eine Zeichenkette umgewandelt wird. |
|||
⚫ | |||
⚫ | |||
<code>listeners.{delegate}</code> |
<code>listeners.{delegate}</code> |
||
gibt eine Liste aller Delegates der Collection listeners zurück. |
gibt eine Liste aller <code>Delegates</code> der <code>Collection</code> <code>listeners</code> zurück. |
||
⚫ | |||
⚫ | |||
<code>listeners.{? #this instanceof KeyListener}</code> |
<code>listeners.{? #this instanceof KeyListener}</code> |
||
gibt eine Collection |
gibt eine <code>Collection</code> aller <code>listener</code> zurück, die <code>KeyListener</code> sind. |
||
== Weblinks == |
== Weblinks == |
Version vom 11. Dezember 2018, 13:01 Uhr
Object-Graph Navigation Language, abgekürzt als OGNL ist eine expression language zum Lesen und Schreiben von Eigenschaften in Java-Objekten. Dazu werden zum Setzen und zum Lesen des Wertes einer Eigenschaft die gleichen Ausdrücke verwendet. Zum Einsatz kommen kann OGNL zum Beispiel beim Binden einer Darstellungsschicht (GUI) an ein Objekt in einem Datenmodell. Dabei ermöglicht OGNL außerdem „projection“, „selection“ und Pseudo-Lambda-Ausdrücke.
Bei einer „projection“ wird für alle Elemente einer Collection dieselbe Methode aufgerufen bzw. auf dieselbe Eigenschaft zugegriffen und das Ergebnis dieser Operation(en) wiederum in einer Collection gespeichert.
Bei einer „selection“ werden aus einer Menge von Elementen einer Collection bestimmte Elemente, die die gestellte Bedingung erfüllen, als Ergebnis in einer neuen Collection gespeichert.
OGNL besitzt eine vereinfachte Lambda-Ausdruckssyntax, welche das Schreiben simpler Funktionen ermöglicht.
Beispiele
OGNL-Ausdruck
code.lowerCase.bytes[0].intValue.string
- holt die Eigenschaft
code
, - ruft für die resultierende Zeichenkette die Methode
toLowerCase()
auf, - ruft für die daraus resultierende Zeichenkette die Methode
getBytes()
auf, - extrahiert aus dem resultierenden
byte
-Array den ersten Wert - und kapselt dieses in einem
Byte
-Objekt, für das die EigenschaftintValue
(durch Aufruf der MethodegetIntValue()
) ermittelt wird, - der daraus resultierende
int
-Wert wird in einemInteger
-Objekt gekapselt, - das durch Aufrufen der Methode
toString()
in eine Zeichenkette umgewandelt wird.
Projection
listeners.{delegate}
gibt eine Liste aller Delegates
der Collection
listeners
zurück.
Selection
listeners.{? #this instanceof KeyListener}
gibt eine Collection
aller listener
zurück, die KeyListener
sind.