Collection (Objekt)
Name
Collection - Liste beliebiger Objekte
Beschreibung
Eine Collection enthält eine beliebige Liste von Objekten. In einer Collection können Objekte hinzugefügt, geändert und gelöscht werden (siehe sp:collection). Auf einzelne Objekte der Collection kann mit Hilfe eines Index zugegriffen werden. Dazu steht folgende Syntax zur Verfügung.
myCollection[3]
Bei der Angabe des Index 3 wird das 4. Element der Collection zurückgeliefert, da die Collection mit dem Index 0 beginnt. Bei der Angabe eines negativen Index können die letzten Objekte der Collection erfragt werden, ohne das die Länge der Collection bekannt sein muß.
myCollection[-1]
Bei der Angabe des Index -1 wird das letzte Objekt der Collection zurückgeliefert. Bei einem Index von -2 würde das zweitletzte Objekt zurückgeliefert werden usw.
Um alle Objekte einer Collection nacheinander in einer Schleife zu durchlaufen kann der Tag sp:loop verwendet werden.
Ausgabe
Bei der Ausgabe dieses Objektes werden alle Einträgen kommasepariert ausgebeben.
Sonderregelung
Um den Umgang mit Collections zu vereinfachen gilt folgende Sondereregelung:
Wird auf die Collection ein Attribut abgefragt, das die Collection nicht besitzt, so wird dieses Attribut von dem ersten Eintrag der Liste abgefragt. Besitzt auch das erste Element der Liste dieses Attribut nicht, wird nichts zurück geliefert.
Attribute
Attribut | Type | Beschreibung | ab IES Version |
---|---|---|---|
size | Number | Anzahl der Objekte in der Collection | 1 |
Methoden
Methode | Rückgabewert | Beschreibung | ab IES Version |
---|---|---|---|
contains(Object o)
|
Boolean | Liefert true , wenn das Objekt in der Liste enthalten ist.
|
1 |
intersect(Collection c)
|
Collection | Liefert die Schnittmenge der aktuellen List mit der übergebenen. | 2.13 |
toMap(String key)
|
String | Erzeugt aus einer Collection eine Map, wobei die Objekte in der Collection ein Feld mit dem übergebenen Name in key besitzten müssen.
|
2.13 |
toJson()
|
String | Erzeugt aus den Daten der Map einen String in JSON, der mit sp:print ausgegeben werden kann. | 2.9 |
toJson(Number indentFactor)
|
String | Erzeugt aus den Daten der Map einen String in JSON, der mit sp:print ausgegeben werden kann. | 2.9 |
toJson(Number indentFactor, Number indent)
|
String | Erzeugt aus den Daten der Map einen String in JSON, der mit sp:print ausgegeben werden kann. | 2.9 |
toJson(Number indentFactor, Number indent, String indentChar)
|
String | Erzeugt aus den Daten der Map einen String in JSON, der mit sp:print ausgegeben werden kann. | 2.9 |
toPhpArray()
|
String | Erzeugt aus den Daten der Map einen String in PHP-Array-Notation, der mit sp:print ausgegeben werden kann. | 2.9 |
toPhpArray(Number indentFactor)
|
String | Erzeugt aus den Daten der Map einen String in PHP-Array-Notation, der mit sp:print ausgegeben werden kann. | 2.9 |
toPhpArray(Number indentFactor, Number indent)
|
String | Erzeugt aus den Daten der Map einen String in PHP-Array-Notation, der mit sp:print ausgegeben werden kann. | 2.9 |
toPhpArray(Number indentFactor, Number indent, String indentChar)
|
String | Erzeugt aus den Daten der Map einen String in PHP-Array-Notation, der mit sp:print ausgegeben werden kann. | 2.9 |
join(String separator)
|
String | Erzeugt aus der Collection einen String, bei dem zwischen jedem Element die angegebene Zeichenkette eingefügt wird. | 2.13 |
Boolean contains(Object o)
- Liefert
true
, wenn das Objekt in der Collection enthalten ist. Alle Objekte der Liste werden mito
verglichen. Stimmt ein Objekt der Collection mito
überein wirdtrue
zurückgeliefert, sonstfalse
. Zu beachten ist, das die Objekte nicht direkt miteinander verglichen werden, sondern zunächst in ein Vergleichsobjekt umgewandelt werden. Bei Objekten, die eine ID besitzen wird diese ID als Vergleichsobjekt verwendet. Daraus folgt, dass nicht die Objekte selber miteinander verglichen werden, sondern lediglich deren IDs.- Parameter
-
Object o
- Objekt, das mit den Objekten der Collection verglichen werden soll.
- Rückgabewert
-
- Boolean
true
, wenn das Objekt enhalten ist, sonstfalse
.
Collection intersect(Collection c)
- Liefert die Schnittmenge der aktuellen List mit der übergebenen. Alle Objekte der Liste werden mit den Objekten von
c
verglichen. Stimmt ein Objekt der Collection mito
überein, ist es in der zurück gegebenen liste einthalten. Zu beachten ist, das die Objekte nicht direkt miteinander verglichen werden, sondern zunächst in ein Vergleichsobjekt umgewandelt werden. Bei Objekten, die eine ID besitzen wird diese ID als Vergleichsobjekt verwendet. Daraus folgt, dass nicht die Objekte selber miteinander verglichen werden, sondern lediglich deren IDs.- Parameter
-
Object o
- Objekt, das mit den Objekten der Collection verglichen werden soll.
- Rückgabewert
-
- Collection
- Schnittmenge der beiden Collections.
Map toMap(String key)
- Erzeugt aus einer Collection eine Map, wobei die Objekte in der Collection ein Feld mit dem übergebenen Name in
key
besitzten müssen. Der Wert des Feldes wird als Key der Map verwendet.- Parameter
-
String key
- Feldname dessen Wert als Key für die Map verwendet wird.
- Rückgabewert
-
- Map
- Map mit den Einträgen der Liste gemappt auf des Feld
key
String toJson(Number indentFactor, Number indent, String indentChar)
- Erzeugt aus den Daten der Map einen String in JSON, der mit sp:print ausgegeben werden kann.
- Parameter
- Rückgabewert
-
- String
- JSON als String.
String toPhpArray(Number indentFactor, Number indent, String indentChar)
- Erzeugt aus den Daten der Map einen String in PHP-Array-Notation, der mit sp:print ausgegeben werden kann.
- Parameter
- Rückgabewert
-
- String
- PHPArray als String.
String join(String separator)
- Erzeugt aus der Collection einen String, bei dem zwischen jedem Element die angegebene Zeichenkette eingefügt wird.
- Beispiel:
<sp:collection name="myList" action="add" value="peter"/> <sp:collection name="myList" action="add" value="paul"/> <sp:collection name="myList" action="add" value="mary"/> <sp:print name="myList.join(' or ')"/>
wird zu
peter or paul or mary
- Parameter
-
String separator
- Zeichen, das zwischen die verketteten Elemente der Liste eingefügt wird.
- Rückgabewert
-
- String
- String aus den Elementen der Collection.