Datentyp Set (Menge)
Wertebereich des Datentyps Set
Elemente der Vorlagenentwicklung können in:
gruppiert werden.
Für die Bearbeitung von Werten, die eine geordnete Menge von eindeutigen Elementen repräsentieren, stellt FirstSpirit den Datentyp Set zur Verfügung. Dieser Datentyp ermöglicht eine Gruppierung von Elementen. Set-Objekte sind sehr flexibel und beliebig erweiterbar.
Im Gegensatz zu den Datentypen List und Map kann auf ein Element innerhalb einer Menge nicht über einen Indexwert oder einen Schlüsselwert zugegriffen werden. Es ist lediglich möglich, das erste, das letzte, alle Elemente oder ein bestimmtes Element einer Menge auszugeben. Soll ein bestimmtes Element der Menge ausgegeben werden, so muss dieses Element bekannt sein. Im Unterschied zur Liste kann beispielsweise nicht einfach auf das zweite Element der Menge zugegriffen werden. Stattdessen muss geprüft werden, ob ein bestimmtes Element in der Menge enthalten ist, erst dann kann auf dieses Element zugegriffen werden. Aus diesem Grund dürfen Elemente innerhalb einer Menge nur genau einmal vorhanden sein, dass heißt, ein Ausdruck der Form mapElement_1.equals(mapElement_2) kann niemals true zurückliefern.
Der Datentyp Set kann auch in der Sun API-Dokumentation nachgeschlagen werden:
java.util.Set
Definition
Analog zu Maps lassen sich auch Mengen über { } (geschweifte Klammern) erzeugen. Dabei muss folgende Syntax erfüllt sein:
MENGE := '{} | '{' [ AUSDRUCK [',' AUSDRUCK ]*] '}'
Das folgende Codebeispiel erzeugt eine leere Menge und weist diese der Variablen empty_set zu:
$CMS_SET(empty_set, {})$
Soll eine Menge erzeugt werden, die bereits Elemente enthält, können die Elemente einfach als kommaseparierte Liste innerhalb der geschweiften Klammern übergeben werden. Das Codebeispiel erzeugt eine neue, gefüllte Menge mySet:
$CMS_SET(mySet, {"eins","zwei","drei"})$
Im folgenden Codebeispiel wird ein Element zur Menge hinzugefügt.
Damit keine Ausgabe erfolgt, bietet sich die Verwendung einer Dummy-Variable (z. B. void) an:
$CMS_SET(void,mySet.add("vier"))$
Die Ausgabe erfolgt über
$CMS_VALUE(mySet)$
Definition über die Standard-Eingabekomponenten
Im Formularbereich von Vorlagen können Eingabekomponenten definiert werden, mit deren Hilfe die Redakteure später die eigentlichen redaktionellen Inhalte in die Seite einfügen können. Die von FirstSpirit unterstützten Standard-Eingabekomponenten liefern unterschiedliche Datentypen zurück.
Die folgenden Standard-Eingabekomponenten liefern ein Objekt vom Datentyp Set zurück:
Auf diesem Objekt lassen sich dann mithilfe einer $CMS_VALUE(...)$-Anweisung Methoden anwenden:
$CMS_VALUE(BEZEICHNER.METHODE)$
Mit BEZEICHNER ist der Bezeichner gemeint, der im Parameter resultname der Eingabekomponente definiert wurde.
Zugriff auf Elemente der Menge
Der Zugriff auf die Elemente der Menge erfolgt beispielsweise über eine Iteration:
$CMS_FOR(setWrapper,mySet)$
$CMS_VALUE(setWrapper)$
$CMS_END_FOR$
Ausgabe:
setWrapper:drei
setWrapper:eins
setWrapper:vier
setWrapper:zwei
oder über Funktionen:
$CMS_VALUE(mySet.first())$
$CMS_VALUE(mySet.last())$
Das Codebeispiel gibt den ersten oder den letzten Wert der Menge zurück.
Daneben ist auch folgender Ausdruck möglich:
$CMS_VALUE(mySet.contains("eins"))$
Die contains-Methode prüft, ob ein bestimmtes Element ein Bestandteil der Menge ist und liefert für das oben angegebene Codebeispiel true zurück.
Methoden auf Set-Objekten
In der unten angegebenen Tabelle werden alle Methoden aufgelistet, die auf Objekten von Datentyp Set aufgerufen werden können:
Methodenname |
Rückgabetyp |
Kurzbeschreibung |
Verfügbar seit |
add(Object) |
boolean |
|
|
addAll(Collection) |
boolean |
|
|
clear |
void |
|
|
contains(Object) |
boolean |
checks if the provided element is contained |
4.0.0 |
containsAll(Collection) |
boolean |
checks if all elements of the provided element are contained |
4.0.0 |
copy |
Collection |
make a (shallow) copy |
4.0.0 |
copyOf(Collection) |
Set |
|
|
distinct(Lambda) |
Collection |
Ausgabe einer Liste eindeutiger Elemente |
4.1 |
equals(Object) |
boolean |
|
|
filter(String) |
Object |
delivers a filtered collection, the last parameter converted to a lambda expression |
4.0.0 |
filter(Lambda) |
Object |
Filterung von Listenelementen |
4.0.0 |
fold(Lambda, Map) |
Object |
Zusammenfassen von Werten |
4.0.0 |
forEach(Consumer) |
void |
|
|
getClass |
Class |
Klasse des aufrufenden Objektes |
|
hashCode |
int |
|
|
isCase(Object) |
boolean |
|
|
isEmpty |
boolean |
Prüft, ob ein Ausdruck leer ist |
|
isNull |
boolean |
Prüft, ob ein Ausdruck Null ist |
|
iterator |
Iterator |
|
|
length |
int |
|
|
map(String) |
Object |
delivers a mapped collection, the last parameter converted to a lambda expression |
4.0.0 |
map(Lambda) |
Object |
Ausgabe von Listenelementen als Sammlung |
4.0.0 |
max |
Object |
delivers the maximum element (only applicable if elements are compareable) |
4.0.0 |
max(Comparator) |
Object |
delivers the maximum element concerning to the given comparator |
4.0.0 |
max(Lambda) |
Object |
Nach dem höchsten Wert filtern |
4.0.0 |
min |
Object |
delivers the minimum element (only applicable if elements are compareable) |
4.0.0 |
min(Comparator) |
Object |
delivers the minimum element concerning to the given comparator |
4.0.0 |
min(Lambda) |
Object |
Nach dem niedrigsten Wert filtern |
4.0.0 |
of |
Set |
|
|
of(Object[]) |
Set |
|
|
of(Object) |
Set |
|
|
of(Object, Object) |
Set |
|
|
of(Object, Object, Object) |
Set |
|
|
of(Object, Object, Object, Object) |
Set |
|
|
of(Object, Object, Object, Object, Object) |
Set |
|
|
of(Object, Object, Object, Object, Object, Object) |
Set |
|
|
of(Object, Object, Object, Object, Object, Object, Object) |
Set |
|
|
of(Object, Object, Object, Object, Object, Object, Object, Object) |
Set |
|
|
of(Object, Object, Object, Object, Object, Object, Object, Object, Object) |
Set |
|
|
of(Object, Object, Object, Object, Object, Object, Object, Object, Object, Object) |
Set |
|
|
plus(Collection) |
Collection |
appends all elements to this collection (called for operator '+') |
4.0.0 |
print |
void |
|
|
print(Object) |
void |
|
|
remove(Object) |
boolean |
|
|
removeAll(Collection) |
boolean |
|
|
removeIf(Predicate) |
boolean |
|
|
retainAll(Collection) |
boolean |
|
|
set(String, Object) |
Object |
|
|
size |
int |
|
|
spliterator |
Spliterator |
|
|
toArray |
Object[] |
|
|
toArray(Object[]) |
Object[] |
|
|
toArray(IntFunction) |
Object[] |
|
|
toJSON |
String |
Convert to a JSON-compatible string representation including necessary quotes and escaping for immediate use. Handles Maps, Collections, Arrays, Numbers, Strings, Boolean, Date, and JsonElement. A date instance will be converted to an ISO-8601 formatted date string. Any object other than above will be converted using its 'toString()' value. |
5.2.11 |
toList |
List |
Converts a collection to a list. |
5.2.416 |
toString |
String |
|
|
toString(String) |
String |
Ausgabe von durch Trennzeichen separierte Elemente als String |
4.0.0 |
toString(String, String) |
String |
Short form for collection.map(attribute).toString(delimiter) |
4.0.0 |
type |
String |
|
|
add(Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
add(Object) |
boolean |
|
Übersicht
addAll(Collection)
Methodenname |
Rückgabetyp |
Verfügbar seit |
addAll(Collection) |
boolean |
|
Übersicht
clear
Methodenname |
Rückgabetyp |
Verfügbar seit |
clear |
void |
|
Übersicht
contains(Object)
checks if the provided element is contained
Methodenname |
Rückgabetyp |
Verfügbar seit |
contains(Object) |
boolean |
4.0.0 |
Übersicht
containsAll(Collection)
checks if all elements of the provided element are contained
Methodenname |
Rückgabetyp |
Verfügbar seit |
containsAll(Collection) |
boolean |
4.0.0 |
Übersicht
copy
make a (shallow) copy
Methodenname |
Rückgabetyp |
Verfügbar seit |
copy |
Collection |
4.0.0 |
Übersicht
copyOf(Collection)
Methodenname |
Rückgabetyp |
Verfügbar seit |
copyOf(Collection) |
Set |
|
Übersicht
distinct(Lambda)
Über diese Methode können Duplikate einer Liste entsprechend einer Bedingung eliminiert bzw. ignoriert werden. Sie kann z. B. für Glossare oder Übersichten verwendet werden, die dann beispielsweise verlinkt auch als Navigationselement dienen können.
Siehe Seite Abbildungs-Ausdrücke (Lambda).
Methodenname |
Rückgabetyp |
Verfügbar seit |
distinct(Lambda) |
Collection |
4.1 |
Übersicht
equals(Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
equals(Object) |
boolean |
|
Übersicht
filter(String)
delivers a filtered collection, the last parameter converted to a lambda expression
Methodenname |
Rückgabetyp |
Verfügbar seit |
filter(String) |
Object |
4.0.0 |
Übersicht
filter(Lambda)
Haben Listen mehrere Attribute pro Element (vergleichbar einem Datensatz mit mehreren Spalten), können die Elemente mit der Methode .filter(Lambda) nach den einzelnen Attributen gefiltert werden.
Siehe dazu Seite Abbildungs-Ausdrücke (Lambda).
Methodenname |
Rückgabetyp |
Verfügbar seit |
filter(Lambda) |
Object |
4.0.0 |
Übersicht
fold(Lambda, Map)
Siehe Seite Abbildungs-Ausdrücke (Lambda).
Methodenname |
Rückgabetyp |
Verfügbar seit |
fold(Lambda, Map) |
Object |
4.0.0 |
Übersicht
forEach(Consumer)
Methodenname |
Rückgabetyp |
Verfügbar seit |
forEach(Consumer) |
void |
|
Übersicht
getClass
Die Methode .getClass() (in Bean-Syntax: .class) liefert die Klasse des aufrufendes Objektes zurück (vgl. java.lang.Class).
Aufruf:
$CMS_VALUE(myString.class)$
$CMS_VALUE(myString.getClass())$
Ausgabe:
java.lang.String
Methodenname |
Rückgabetyp |
Verfügbar seit |
getClass |
Class |
|
Übersicht
hashCode
Methodenname |
Rückgabetyp |
Verfügbar seit |
hashCode |
int |
|
Übersicht
isCase(Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
isCase(Object) |
boolean |
|
Übersicht
isEmpty
Die Methode .isEmpty() (in Bean-Syntax: .isEmpty) prüft, ob ein Ausdruck bzw. Objekt leer ist, z. B. storeElement.isEmpty(). Das Ergebnis der semantischen Prüfung hängt vom Ausdruck bzw. Objekt ab, z. B. eine Zeichenkette ist dann leer, wenn sie kein Zeichen enthält. Bei Objekten mit komplexen Werten oder Objekten entscheidet das Objekt, wann es leer ist. Der Datentyp DomElement enthält beispielsweise immer ein leeres Dokument, ist also nie null. Die Prüfung einer leeren DOM-Editor-Eingabekomponente mit der Methode .isNull() liefert daher den Wert false, während die Prüfung der Komponente auf .isEmpty() den Wert true liefern würde.
Die Methode .isEmpty() gibt einen booleschen Wert als Ergebnis der Prüfung zurück. true (=wahr) ist die Prüfung, wenn der Ausdruck bzw. das Objekt leer ist und false (=unwahr) wenn nicht.
Methodenname |
Rückgabetyp |
Verfügbar seit |
isEmpty |
boolean |
|
Übersicht
isNull
Die Methode .isNull() (in Bean-Syntax: .isNull) prüft, ob ein Ausdruck bzw. Objekt Null ist, z. B. storeElement.isNull(). Bei Objekten mit komplexen Werten oder Objekten entscheidet das Objekt, wann es null ist. Der Datentyp DomElement enthält beispielsweise immer ein leeres Dokument, ist also nie null. Die Prüfung einer leeren DOM-Editor-Eingabekomponente mit der Methode .isNull() liefert daher den Wert false, während die Prüfung der Komponente auf .isEmpty() den Wert true liefern würde.
Die Methode .isNull() gibt einen booleschen Wert als Ergebnis der Prüfung zurück. true (=wahr) ist die Prüfung, wenn der Ausdruck bzw. das Objekt Null ist und false (=unwahr) wenn nicht.
Methodenname |
Rückgabetyp |
Verfügbar seit |
isNull |
boolean |
|
Übersicht
iterator
Methodenname |
Rückgabetyp |
Verfügbar seit |
iterator |
Iterator |
|
Übersicht
length
Methodenname |
Rückgabetyp |
Verfügbar seit |
length |
int |
|
Übersicht
map(String)
delivers a mapped collection, the last parameter converted to a lambda expression
Methodenname |
Rückgabetyp |
Verfügbar seit |
map(String) |
Object |
4.0.0 |
Übersicht
map(Lambda)
Siehe Seite Abbildungs-Ausdrücke (Lambda).
Methodenname |
Rückgabetyp |
Verfügbar seit |
map(Lambda) |
Object |
4.0.0 |
Übersicht
max
delivers the maximum element (only applicable if elements are compareable)
Methodenname |
Rückgabetyp |
Verfügbar seit |
max |
Object |
4.0.0 |
Übersicht
max(Comparator)
delivers the maximum element concerning to the given comparator
Methodenname |
Rückgabetyp |
Verfügbar seit |
max(Comparator) |
Object |
4.0.0 |
Übersicht
max(Lambda)
Siehe Seite Abbildungs-Ausdrücke (Lambda).
Methodenname |
Rückgabetyp |
Verfügbar seit |
max(Lambda) |
Object |
4.0.0 |
Übersicht
min
delivers the minimum element (only applicable if elements are compareable)
Methodenname |
Rückgabetyp |
Verfügbar seit |
min |
Object |
4.0.0 |
Übersicht
min(Comparator)
delivers the minimum element concerning to the given comparator
Methodenname |
Rückgabetyp |
Verfügbar seit |
min(Comparator) |
Object |
4.0.0 |
Übersicht
min(Lambda)
Siehe Seite Abbildungs-Ausdrücke (Lambda).
Methodenname |
Rückgabetyp |
Verfügbar seit |
min(Lambda) |
Object |
4.0.0 |
Übersicht
of
Methodenname |
Rückgabetyp |
Verfügbar seit |
of |
Set |
|
Übersicht
of(Object[])
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object[]) |
Set |
|
Übersicht
of(Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object) |
Set |
|
Übersicht
of(Object, Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object, Object) |
Set |
|
Übersicht
of(Object, Object, Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object, Object, Object) |
Set |
|
Übersicht
of(Object, Object, Object, Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object, Object, Object, Object) |
Set |
|
Übersicht
of(Object, Object, Object, Object, Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object, Object, Object, Object, Object) |
Set |
|
Übersicht
of(Object, Object, Object, Object, Object, Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object, Object, Object, Object, Object, Object) |
Set |
|
Übersicht
of(Object, Object, Object, Object, Object, Object, Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object, Object, Object, Object, Object, Object, Object) |
Set |
|
Übersicht
of(Object, Object, Object, Object, Object, Object, Object, Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object, Object, Object, Object, Object, Object, Object, Object) |
Set |
|
Übersicht
of(Object, Object, Object, Object, Object, Object, Object, Object, Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object, Object, Object, Object, Object, Object, Object, Object, Object) |
Set |
|
Übersicht
of(Object, Object, Object, Object, Object, Object, Object, Object, Object, Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
of(Object, Object, Object, Object, Object, Object, Object, Object, Object, Object) |
Set |
|
Übersicht
plus(Collection)
appends all elements to this collection (called for operator '+')
Methodenname |
Rückgabetyp |
Verfügbar seit |
plus(Collection) |
Collection |
4.0.0 |
Übersicht
print
Methodenname |
Rückgabetyp |
Verfügbar seit |
print |
void |
|
Übersicht
print(Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
print(Object) |
void |
|
Übersicht
remove(Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
remove(Object) |
boolean |
|
Übersicht
removeAll(Collection)
Methodenname |
Rückgabetyp |
Verfügbar seit |
removeAll(Collection) |
boolean |
|
Übersicht
removeIf(Predicate)
Methodenname |
Rückgabetyp |
Verfügbar seit |
removeIf(Predicate) |
boolean |
|
Übersicht
retainAll(Collection)
Methodenname |
Rückgabetyp |
Verfügbar seit |
retainAll(Collection) |
boolean |
|
Übersicht
set(String, Object)
Methodenname |
Rückgabetyp |
Verfügbar seit |
set(String, Object) |
Object |
|
Übersicht
size
Methodenname |
Rückgabetyp |
Verfügbar seit |
size |
int |
|
Übersicht
spliterator
Methodenname |
Rückgabetyp |
Verfügbar seit |
spliterator |
Spliterator |
|
Übersicht
toArray
Methodenname |
Rückgabetyp |
Verfügbar seit |
toArray |
Object[] |
|
Übersicht
toArray(Object[])
Methodenname |
Rückgabetyp |
Verfügbar seit |
toArray(Object[]) |
Object[] |
|
Übersicht
toArray(IntFunction)
Methodenname |
Rückgabetyp |
Verfügbar seit |
toArray(IntFunction) |
Object[] |
|
Übersicht
toJSON
Convert to a JSON-compatible string representation including necessary quotes and escaping for immediate use. Handles Maps, Collections, Arrays, Numbers, Strings, Boolean, Date, and JsonElement. A date instance will be converted to an ISO-8601 formatted date string. Any object other than above will be converted using its 'toString()' value.
Methodenname |
Rückgabetyp |
Verfügbar seit |
toJSON |
String |
5.2.11 |
Übersicht
toList
Converts a collection to a list.
Methodenname |
Rückgabetyp |
Verfügbar seit |
toList |
List |
5.2.416 |
Übersicht
toString
Methodenname |
Rückgabetyp |
Verfügbar seit |
toString |
String |
|
Übersicht
toString(String)
Unter der Angabe eines individuell wählbaren Trennzeichens können die einzelnen Elemente, z.B. einer Liste, zu einem String zusammengeführt werden, wobei das Trennzeichen zur Abtrennung der einzelnen Elemente verwendet wird.
Beispiel:
$CMS_SET(myList, ["Haus","Schlüssel","Fenster"])$
$CMS_VALUE(myList.toString("; "))$
Die Elemente der Liste myList werden mit Semikolon und Leerzeichen voneinander getrennt ausgegeben:
Haus; Schlüssel; Fenster
Methodenname |
Rückgabetyp |
Verfügbar seit |
toString(String) |
String |
4.0.0 |
Übersicht
toString(String, String)
Short form for collection.map(attribute).toString(delimiter)
Methodenname |
Rückgabetyp |
Verfügbar seit |
toString(String, String) |
String |
4.0.0 |
Übersicht
type
Methodenname |
Rückgabetyp |
Verfügbar seit |
type |
String |
|
Übersicht
Um ein Objekt der Menge zu erhalten, ist ein Eintrag mit get() direkt anzusprechen oder das gesamte Set-Objekt mit der $CMS_FOR(...)$- oder $CMS_RENDER(...)$-Funktionalität zu durchlaufen.
Beispiel:
$CMS_SET(meineVariable,"TEXT")$
$CMS_SET(meineVariable,1234)$
Druckversion | Seitenanfang