Lade...
 

Dictionary-Klassen

Dictionaries

CX_OBJECT_DICTIONARY, CX_OBJECT_DICTIONARY_ML, CX_OBJECT_DICTIONARY_CI und CX_OBJECT_DICTIONARY_ML_CI

Objekte sollen unter bestimmten Bezeichnungen (Begriffen) registriert und wieder aufgefunden werden, wobei die Bezeichner keine Daten der Objekte selbst sein müssen.
Wie in der realen Welt kann ein Objekt viele Namen tragen, und der gleiche Name kann für unterschiedliche Objekte vergeben werden.

Wenn die Objekt-Bezeichner Wörter einer natürlichen Sprache sind, sollen die Begriffe mehrsprachig eingegeben und verwaltet werden.
Andere Bezeichnungen (Code-Nummern, Firmennamen, ...) sind sprachunabhängig, und eine multilinguale Verwaltung würde eher stören.

Bei der Suche nach einem Objekt kann die Groß- / Kleinschreibung beachtet oder ignoriert werden.

In einer Datenbank können beliebig viele Dictionaries existieren.
Sie sind Instanzen einer der folgenden Klassen:

Eigenschaften: case sensitive case insensitive
sprach-abhängig (multilingual) CX_OBJECT_DICTIONARY_ML (früher CX_DICTIONARY) CX_OBJECT_DICTIONARY_ML_CI (früher CX_DICTIONARY_CI)
sprach-unabhängig CX_OBJECT_DICTIONARY (früher CX_INDEX) CX_OBJECT_DICTIONARY_CI (früher CX_INDEX_CI)

Allen Klassen gemeinsam ist ein Datenfeld name.
Alle Klassen besitzen das gleiche Methoden-Interface. InstantView®-Code, der bisher mit einem Objekt der Klasse CX_OBJECT_DICTIONARY_ML gearbeitet hat, kann ohne Aufwand für ein Objekt der Klasse CX_OBJECT_DICTIONARY_CI angewendet werden. Deshalb gibt es die auf Mehrsprachigkeit zugeschnittenen Funktionen auch bei den Klassen CX_OBJECT_DICTIONARY und CX_OBJECT_DICTIONARY_CI. 
Mit der Funktion Clone kann aus jedem Dictionary ein äquivalentes Dictionary der gleichen oder einer anderen Dictionary-Klasse erzeugt werden.

Das Datenfeld und die Methoden sind nur einmal - auf die Klasse CX_OBJECT_DICTIONARY bezogen - dokumentiert.

Alle Dictionaries verwalten eine Rückbeziehung. Zu jedem Objekt kann man alle Bezeichnungen, unter denen es eingetragen wurde, abfragen.

Nach einem Objekt wird gesucht

Die Einträge der Dictionaries, d.h. die Tupel (Bezeichner, Objekt) kann man mit den Mitteln von InstantView® bearbeiten. Ein Eintrag wird durch ein transientes Hilfs-Objekt der Klasse CX_KEYWORD repräsentiert.