Lade...
 

CX_OBJECT_DICTIONARY_ML_CI

CX_OBJECT_DICTIONARY_ML_CI CX_DICTIONARY_CI.png

Klassenhierarchie
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. (EnterQueryExistsRemove)

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

 

Methodenverzeichnis (MDI)
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

 

Datenverzeichnis (DDI)
Datenfeld Typ Referenz-Klasse I* Kurzbeschreibung
uniqueID STRING   * Name

* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld

 

Verwendung in AppsWH
Modul Kurzbeschreibung