Zum Inhalt springen

„Object-Graph Navigation Language“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Beispiele: Formatierung, Wording
K Einleitung: Formatierung, Wording
 
Zeile 1: Zeile 1:
'''Object-Graph Navigation Language''', abgekürzt als ''OGNL'' ist eine [[expression language]] zum Lesen und Schreiben von Eigenschaften in [[Java (Programmiersprache)|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-Ausdruck|Lambda-Ausdrücke]].
'''Object-Graph Navigation Language''' ('''OGNL''') ist eine ''[[Expression Language]]'' zum Lesen und Schreiben von Eigenschaften von [[Java (Programmiersprache)|Java]]-Objekten. Dabei 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 ''Projections'', ''Selections'' und Pseudo-[[Lambda-Ausdruck|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 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.
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.
OGNL besitzt eine vereinfachte Lambda-Ausdruckssyntax, die das Schreiben simpler Funktionen ermöglicht.


== Beispiele ==
== Beispiele ==

Aktuelle Version vom 11. Dezember 2018, 13:09 Uhr

Object-Graph Navigation Language (OGNL) ist eine Expression Language zum Lesen und Schreiben von Eigenschaften von Java-Objekten. Dabei 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 Projections, Selections 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, die das Schreiben simpler Funktionen ermöglicht.

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 Eigenschaft intValue (durch Aufruf der Methode getIntValue()) ermittelt wird,
  • der daraus resultierende int-Wert wird in einem Integer-Objekt gekapselt,
  • das durch Aufrufen der Methode toString() in eine Zeichenkette umgewandelt wird.

listeners.{delegate}

gibt eine Liste aller Delegates der Collection listeners zurück.

listeners.{? #this instanceof KeyListener}

gibt eine Collection aller listener zurück, die KeyListener sind.