Lade...
 

CX_OBJECT_DICTIONARY

CX_OBJECT_DICTIONARY CX_INDEX.png

Klassenhierarchie
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)

 

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
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

 

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

* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld

 

Verwendung in AppsWH
Modul Kurzbeschreibung