Startseite / Vorlagenentwicklung / Vorlagensyntax / Datentypen / IndexAccessor

Datentyp IndexAccessorVerfügbar ab FirstSpirit-Version 5.2

FS_INDEX-Eingabekomponenten speichern Referenzen zu Datenobjekten (z. B. aus externen Webdiensten) anhand von Bezeichnern im String-Format. Diese Bezeichner werden von dem Datenzugriff-Plugin, das der Indexkomponente in der Formulardefinition einer Vorlage zugewiesen wird, geliefert. Um auf die tatsächlichen Daten eines Indexeintrags zuzugreifen, muss das Session-Objekt des Datenzugriff-Plugins abgefragt werden, um anhand eines String-Bezeichners ein passendes Datenobjekt einzuholen und weiterzuverarbeiten.

Innerhalb von Vorlagensatz-Definitionen wird bei Zugriffen auf die Wertemenge einer FS_INDEX-Eingabekomponente ein Objekt vom Typ IndexAccessor zurückgeliefert, welches Zugriff auf die gespeicherten String-Bezeichner bietet, zusätzlich aber auch eine Liste der den Bezeichnern entsprechenden Datenobjekte liefert, die vom Datenzugriff-Plugin aufgelöst wurden.

Verfügbar ab FirstSpirit-Version 5.2R2 Ab FirstSpirit 5.2R2 wird auch in Schnipseldefinitionen ein Objekt vom Typ IndexAccessor zurückgeliefert, wenn auf die Wertemenge einer FS_INDEX-Eingabekomponente zugegriffen wird.

Wichtig Dieser Datentyp ermöglicht nur lesenden Zugriff auf die Wertemenge einer FS_INDEX-Eingabekomponente. In anderen Fällen, z. B. beim Zugriff auf eine FS_INDEX-Komponente über ein FormData-Objekt, wird ein Objekt vom Typ Index zurückgegeben, welches die Verwaltung der Indexeinträge und die Erstellung neuer Einträge ermöglicht.
Methodenname Rückgabetyp Kurzbeschreibung Verfügbar seit
equals(Object) boolean
getClass Class Klasse des aufrufenden Objektes
getIdentifiers List Liefert String-Bezeichner für Referenzen einer FS_INDEX-Komponente 5.2.25
getSnippets List Liefert die Schnipsel der Einträge einer FS_INDEX-Komponente 5.2.416
getValues List Liefert Datenobjekte, die in einer FS_INDEX-Komponente referenziert sind 5.2.25
isCase(Object) boolean
isEmpty boolean Prüft, ob die betreffende FS_INDEX-Eingabekomponente Einträge enthält 5.2.609
isNull boolean Prüft, ob ein Ausdruck Null ist
print void
set(String, Object) 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
toString String
type String

equals(Object)

Methodenname Rückgabetyp Verfügbar seit
equals(Object) boolean

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

getIdentifiers

Diese Methode liefert eine Liste der String-Bezeichner von Referenzen zurück, die in einer FS_INDEX-Komponente gespeichert sind.

Methodenname Rückgabetyp Verfügbar seit
getIdentifiers List 5.2.25

getSnippets

Mithilfe dieser Methode (in Bean-Syntax: .snippets) kann auf die Schnipsel des mit der FS_INDEX-Komponente assoziierten Datenzugriff-Plugins zugegriffen werden, z. B.

FS_INDEX_VAR.snippets

Die Methode liefert eine Liste zurück. Das gewünschte Element der Liste kann durch Angabe der Positionsnummer (in eckigen Klammern, die Zählung beginnt bei 0) zurückgeliefert werden.
Um die Werte der Schnipsel der verschiedenen Einträge einer FS_INDEX-Komponente zu gelangen, kann folgende Syntax verwendet werden:

FS_INDEX_VAR.snippets[0].thumbnail
FS_INDEX_VAR.snippets[0].header
FS_INDEX_VAR.snippets[0].extract

Dabei liefert

der Schnipseldefinition des in diesem Fall ersten Eintrags des assoziierten Datenzugriff-Plugins.
Siehe dazu auch Interface DataSnippet (Package de.espirit.firstspirit.agency).

Die Ausgabe des Bildes (Feld Miniaturansicht) erfolgt über folgende Beispielsyntax:

<img src="$CMS_REF(FS_INDEX_VAR.snippets[0].thumbnail.source)$"/>

Über die Verwendung von $CMS_SWITCH(...)$ kann eine Ausgabe abhängig vom Typ des Image-Objekts erfolgen, z. B.

$CMS_SWITCH(FS_INDEX_VAR.snippets[0].thumbnail.source)$ 
$CMS_CASE(class("de.espirit.firstspirit.access.store.mediastore.Media"))$
thumbnail: <img src="$CMS_REF(FS_INDEX_VAR.snippets[0].thumbnail.source)$"/>

$CMS_CASE(class("java.lang.String"))$
thumbnail: $CMS_VALUE(FS_INDEX_VAR.snippets[0].thumbnail.source)$
$CMS_END_SWITCH$

In diesem Beispiel erfolgt die Ausgabe abhängig davon, ob ein Media- (Klasse de.espirit.firstspirit.access.store.mediastore.Media) oder ein String-Objekt (Klasse java.lang.String) vorliegt.

Methodenname Rückgabetyp Verfügbar seit
getSnippets List 5.2.416

getValues

Diese Methode löst die in einer FS_INDEX-Komponente gespeicherten String-Bezeichner für referenzierte Objekte über das jeweilige Datenzugriff-Plugin auf und liefert eine Liste der entsprechenden Datenobjekte.

Methodenname Rückgabetyp Verfügbar seit
getValues List 5.2.25

isCase(Object)

Methodenname Rückgabetyp Verfügbar seit
isCase(Object) boolean

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.

Für den Datentyp IndexAccessor kann mit dieser Methode geprüft werden, ob die betreffende FS_INDEX-Eingabekomponente Einträge enthält oder nicht:

  • enthält sie Einträge, liefert der Aufruf false zurück,
  • enthält sie keine Einträge, liefert der Aufruf true zurück.

Methodenname Rückgabetyp Verfügbar seit
isEmpty boolean 5.2.609

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

print

Methodenname Rückgabetyp Verfügbar seit
print void

set(String, Object)

Methodenname Rückgabetyp Verfügbar seit
set(String, Object) Object

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

toString

Methodenname Rückgabetyp Verfügbar seit
toString String

type

Methodenname Rückgabetyp Verfügbar seit
type String

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.4 | Datenschutz