CX_OBJECT_DICTIONARY
Klassenhierarchie
- CX_CLASS
- CX_SIMPLE
- CX_TERMED
- CX_EXPANDABLE
- CX_STRUCTURED
- CX_OBJECT_DICTIONARY
- CX_STRUCTURED
- CX_EXPANDABLE
- CX_TERMED
- CX_SIMPLE
Beschreibung:
Die Klasse CX_OBJECT_DICTIONARY entspricht weitgehend der Klasse CX_OBJECT_DICTIONARY_ML. Der Unterschied liegt im Verzicht auf Mehrsprachigkeit. CX_OBJECT_DICTIONARY-Objekte sind geeignet, Objekte unter solchen Begriffen zu registrieren, die nicht von der gerade gewählten Sprache abhängen (Schlüsselnummern, Namen von Firmen, ...).
Ein Objekt kann beliebig viele Bezeichner haben, und pro Bezeichner können beliebig viele Objekte im Dictionary eingetragen werden. Konzeptionell entspricht ein Dictionary einer Multimap.
Die mehrspachigen Methoden EnterML und RemoveML sind zwecks einheitlichem Interface eingeführt worden. Die Schlüssel werden trotzdem nur einsprachig (aktuelle Sprache des übergebenen ML_STRINGS) eingefügt.
CX_OBJECT_DICTIONARY gehört zur Familie der Objekt-Dictionary-Klassen.
Code-Beispiel:
Var(dict) CreateTransObject(CX_OBJECT_DICTIONARY) -> dict "cx" user dict Call(Enter) "cx" user dict Call(Exists) // -> TRUE "c*" 0 dict Call(Query) // -> Collection (user) "cx" user dict Call(Remove)
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
Cardinalities | VECTOR<INTEGER> | Anzahl der Elemente im Dictionary | ||
Clear | Löscht alle Einträge | |||
CreateBKTree 230545 |
erstellt BK-Tree für nachfolgende DLDistance-Suchen | |||
DestroyBKTree 230545 |
Entfernt BK-Tree | |||
Enter | STRING, OBJECT | neuen Eintrag für das Objekt einfügen, falls genau dieser Eintrag (Begriff, Objekt) schon existiert -> Fehlermeldung | ||
EnterAlways | STRING, OBJECT | nur für Testzwecke ! wie Enter, aber ohne Test, Doppel-Eintragungen möglich |
||
EnterIfNotThere | STRING, OBJECT | wie Enter, falls genau dieser Eintrag (Begriff, Objekt) schon existiert -> keine Operation | ||
EnterML | MULTIPLE_STRING, OBJECT | wie Enter | ||
EnterMLIfNotThere | MULTIPLE_STRING, OBJECT | wie EnterIfNotThere | ||
Exists | STRING, OBJECT | INTEGER | Testet, ob das Objekt unter dem Begriff im Dictionary eingetragen ist | |
FixKeyOwnership 220621 |
STRING | Reorg für Dictionaries, die vor Dll-Version 220415 angelegt wurden. | ||
GetAllKeys | COLLECTION | Rückgabe: alle Dictionary- Einträge als CX_OBJECT_KEYWORDs | ||
GetNames | OBJECT | COLLECTION | Rückgabe: alle Einträge zu einem Objekt als CX_OBJECT_KEYWORDs | |
GetObjectsWithDLDistance 222024 |
STRING, STRING, INTEGER, INTEGER, STRING | COLLECTION | alle Objekte, welche einen Key haben, der ähnlich dem Suchbegriff ist | |
GetObjectsWithDLDistanceWithBKTree 230545 |
STRING, STRING, INTEGER, INTEGER, STRING, INTEGER | COLLECTION | wie GetObjectsWithDLDistance aber logarithmische Suche in einem BK-Tree anstelle linearer Suche | |
GetRelatedObjects | OBJECT | COLLECTION | Rückgabe: alle Einträge zu einem Objekt als CX_OBJECT_KEYWORDs | |
NewKey | OBJECT | OBJECT | neuen Eintrag = neues Objekt CX_KEYWORD erzeugen | |
Query | STRING, INTEGER | COLLECTION | alle Objekte zu einem Suchbegriff finden | |
QueryByType | STRING, STRING, INTEGER, INTEGER | COLLECTION | wie Query, Ergebnis nach Klasse filtern | |
QueryByDLDistance 222024 |
INTEGER, STRING | COLLECTION | alle Objekte, welche einen Key haben, der ähnlich dem Suchbegriff ist | |
QueryByDLDistanceWithBKTree 230545 |
INTEGER, STRING, INTEGER | COLLECTION | wie QueryByDLDistance aber logarithmische Suche in einem BK-Tree anstelle linearer Suche | |
RebuildDictionary | Dictionary komplett neu aufbauen | |||
RegExQuery | STRING, INTEGER | COLLECTION | alle Objekte zum Suchbegriff finden, Suchargument ist regular Expression | |
RegExQueryByType | STRING, STRING, INTEGER, INTEGER | COLLECTION | wie ReqExQuery, Ergebnis nach Klasse filtern | |
Remove | STRING, OBJECT | Eintrag für das Objekt löschen | ||
RemoveDuplicateKeys | alle duplizierten Einträge löschen | |||
RemoveLonelyKeys | alle Einträge ohne umgekehrte Beziehung löschen | |||
RemoveML 220415 |
MULTIPLE_STRING, OBJECT | Eintrag für das Objekt löschen | ||
RemoveNames | OBJECT | alle Einträge für das Objekt löschen | ||
RemoveNamesOfDeletedObjects | alle Einträge löschen, die auf ein logisch gelöschtes Objekt verweisen | |||
SanityCheck | INTEGER | Feststellen, ob interne Strukturen frei von logischen Fehlern sind | ||
Clone | INTEGER | OBJECT | Erzeugt ein neues Dictionary mit den gleichen Einträgen für die gleichen Objekte | |
string | INTEGER | CX_STRING | Liefert die String-Darstellung des Objektes |
* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion
Datenfeld | Typ | Referenz-Klasse | I* | Kurzbeschreibung |
---|---|---|---|---|
uniqueID | STRING | * | Name |
* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld
Modul | Kurzbeschreibung |
---|---|