CX_OBJECT_DICTIONARY_CI
Klassenhierarchie
- CX_CLASS
- CX_SIMPLE
- CX_TERMED
- CX_EXPANDABLE
- CX_STRUCTURED
- CX_OBJECT_DICTIONARY_CI
- CX_STRUCTURED
- CX_EXPANDABLE
- CX_TERMED
- CX_SIMPLE
Beschreibung: (Business Pattern)
Die Klasse CX_OBJECT_DICTIONARY_CI ist zur Eingabe von Paaren von Objekten und von der eingestellten Spache unabhängigen Begriffen (wie Barcodes) geeignet und entspricht weitgehend der Klasse CX_OBJECT_DICTIONARY, mit dem einzigen Unterschied, dass beim Einfügen/Suchen/Löschen im Dictionary Groß- und Kleinbuchstaben nicht unterschieden werden (case insensitive).
Das Dictionary behält aber die bei der Eingabe der Begriffe vorliegende Groß-/Kleinschreibung bei. (siehe GetAllKeys / GetNames)
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_CI gehört zur Familie der Object-Dictionary-Klassen.
Code-Beispiel:
Var(dict) CreateTransObject(CX_OBJECT_DICTIONARY_CI) -> dict "cx" user dict Call(Enter) "cx" user dict Call(Exists) // -> TRUE "CX" user dict Call(Exists) // -> TRUE "c*" 0 dict Call(Query) // -> Collection (user) "cx" user dict Call(Remove) "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 | |||
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 zum ein Objekt als CX_OBJECT_KEYWORDs | |
GetObjectsWithDLDistance
17449
|
STRING, STRING, INTEGER, INTEGER, STRING | COLLECTION | alle Objekte, welche einen Key haben, der ähnlich dem Suchbegriff sind | |
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 | |
QueryByDoubleMetaphone
174494
|
STRING | COLLECTION | alle Objekte, welche einen Key haben, der eine ähnliche Phonetik wie der Suchbegriff hat | |
QueryByDLDistance
174494
|
INTEGER, STRING | COLLECTION | alle Objekte, welche einen Key haben, der ähnlich dem Suchbegriff sind | |
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 duplizierte Einträge löschen | |||
RemoveLonelyKeys | alle Einträge ohne Beziehung zum Objekt löschen | |||
RemoveML 220415 |
ML_STRING, OBJECT | Wie Remove | ||
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 |
---|---|