CX_OBJECT_DICTIONARY_ML_CI
Klassenhierarchie
- CX_CLASS
- CX_SIMPLE
- CX_TERMED
- CX_EXPANDABLE
- CX_STRUCTURED
- CX_OBJECT_DICTIONARY_ML_CI
- CX_STRUCTURED
- CX_EXPANDABLE
- CX_TERMED
- CX_SIMPLE
Beschreibung:
Die Klasse CX_OBJECT_DICTIONARY_ML_CI entspricht der Klasse CX_OBJECT_DICTIONARY_ML, mit dem einzigen Unterschied, dass bei der Suche im Dictionary Groß- und Kleinbuchstaben nicht unterschieden werden (case insensitive). 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.
Das Dictionary behält aber die bei der Eingabe vorliegende Groß-/Kleinschreibung der Begriffe bei.
Bei mehrsprachigen Bezeichnern ist zu beachten, dass diese über alle Sprachen gleich (case insensitiv) sein müssen, um als gleicher Bezeichner erkannt zu werden. Dies spielt eine Rolle bei bei Erkennung von doppelten Einträgen in EnterML und bei beim Auffinden des zu löschenden Bezeichners in RemoveML.
Methoden, die einsprachig arbeiten, beziehen sich immer auf die aktuell aktive Systemsprache. (Enter, Query, Exists, Remove)
CX_OBJECT_DICTIONARY_ML_CI gehört zur Familie der Object-Dictionary-Klassen.
Code-Beispiel:
Var(dict) CreateTransObject(CX_OBJECT_DICTIONARY_ML_CI) -> dict T("cx", "cy") user dict Call(EnterML) "cx" user dict Call(Exists) // -> TRUE "CX" user dict Call(Exists) // -> TRUE "c*" 0 dict Call(Query) // -> Collection (user) T("cx", "cy") user dict Call(RemoveML) "c*" 0 dict Call(Query) // -> empty Collection
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 | Baum für aktuelle Sprache | |||
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 | Begriff in aktueller Sprache angeben | ||
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 | Begriffe für alle Sprachen angeben | ||
EnterMLIfNotThere | MULTIPLE_STRING, OBJECT | wie EnterIfNotThere | |||
Exists | STRING, OBJECT | INTEGER | Testet, ob das Objekt unter dem Begriff im Dictionary eingetragen ist | Begriff in aktueller Sprache angeben | |
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 | Suchargument in der aktuellen Sprache | |
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 | Suchargument in der aktuellen Sprache | |
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 | Suchargument in der aktuellen Sprache | |
QueryByDLDistanceWithBKTree 230545 |
INTEGER, STRING, INTEGER | COLLECTION | wie QueryByDLDistanceWithBKTree 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 | Suchargument in der aktuellen Sprache | |
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 |
ML_SRING, 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 | ||||
RepairSharpSKeys | Reparatur alter Dictionaries in Bezug auf ss und ß | ||||
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 |
---|---|