Loading...
 

CX_OBJECT_DICTIONARY_CI

CX_OBJECT_DICTIONARY_CI CX_INDEX_CI.png

Class hierarchy
Description: (Business Pattern)

The class CX_OBJECT_DICTIONARY_CI is suitable for entering pairs of objects and terms independent of the language set (such as barcodes) and is largely the same as the class CX_OBJECT_DICTIONARY, with the only difference being that upper and lower case letters are not distinguished when inserting/searching/deleting in the Dictionary (case insensitive).

However, the dictionary retains the upper/lower case present when the terms are entered. (see GetAllKeys / GetNames).

An object can have any number of identifiers, and any number of objects can be entered in the dictionary per identifier. Conceptually, a dictionary corresponds to a multimap.

The multi-language methods EnterML and RemoveML have been introduced for the purpose of a uniform interface. The keys are nevertheless only inserted in one language (current language of the transferred ML_STRINGS).

CX_OBJECT_DICTIONARY_CI belongs to the family of object dictionary classes.

Code example:
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

List of methods (MDI)
Function MA* Parameters Return Brief description
Cardinalities VECTOR&lmt;INTEGER>Number of elements in the dictionary
Clear Deletes all entries
CreateBKTree
230545
Creates BK tree for subsequent DLDistance searches.
DestroyBKTree
230545
Removes BK-Tree
Enter STRING, OBJECT insert new entry for the object, if exactly this entry (term, object) already exists -> error message
EnterAlways STRING, OBJECT for test purposes only !
like Enter, but without test, double entries possible
EnterIfNotThere STRING, OBJECT like Enter; if exactly this entry (term, object) already exists -> no operation
EnterML MULTIPLE_STRING, OBJECT like Enter
EnterMLIfNotThere MULTIPLE_STRING, OBJECT like EnterIfNotThere
Exists STRING, OBJECT INTEGER Tests whether the object is entered in the dictionary under the term
FixKeyOwnership
220621
STRING Reorg for dictionaries created before Dll version 220415.
GetAllKeys COLLECTION Return: all dictionary entries as CX_OBJECT_KEYWORDs
GetNames OBJECT COLLECTION Return: all entries for an object as CX_OBJECT_KEYWORDs
GetObjectsWithDLDistance
17449
STRING, STRING, INTEGER, INTEGER, STRING COLLECTION all objects that have a key similar to the search term
GetObjectsWithDLDistanceWithBKTree
230545
STRING, STRING, INTEGER, INTEGER, STRING, INTEGERCOLLECTIONlike GetObjectsWithDLDistance but logarithmic search in a BK-tree instead of linear search
GetRelatedObjects OBJECT COLLECTION Return: all entries for an object as CX_OBJECT_KEYWORDs
NewKey OBJECT OBJECT new entry = create new object CX_KEYWORD
Query STRING, INTEGER COLLECTION find all objects for a search term
QueryByType STRING, STRING, INTEGER, INTEGER COLLECTION like query, filter result by class
QueryByDoubleMetaphone
174494
STRING COLLECTION all objects that have a key that has a similar phonetics to the search term
QueryByDLDistance
174494
INTEGER, STRING COLLECTION all objects that have a key similar to the search term
QueryByDLDistanceWithBKTree
230545
INTEGER, STRING, INTEGERCOLLECTIONlike QueryByDLDistance but logarithmic search in a BK-tree instead of linear search
RebuildDictionary Rebuild dictionary completely
RegExQuery STRING, INTEGER COLLECTION find all objects for the search term, search argument is regular expression
RegExQueryByType STRING, STRING, INTEGER, INTEGER COLLECTION like ReqExQuery, filter result by class
Remove STRING, OBJECT Delete entry for the object
RemoveDuplicateKeys Delete all duplicated entries
RemoveLonelyKeys delete all entries without relation to the object
RemoveML
220415
ML_STRING, OBJECT Like Remove
RemoveNames OBJECT delete all entries for the object
RemoveNamesOfDeletedObjects delete all entries that refer to a logically deleted object
RepairSharpSKeys Repair of old dictionaries with regard to ss and ß
SanityCheck INTEGER Determine whether internal structures are free from logical errors
Clone INTEGER OBJECT Creates a new dictionary with the same entries for the same objects
string INTEGER CX_STRING Returns the string representation of the object

* MA = Member Access function,
grey background = inherited function

Data directory (DDI)
Data field Type Reference class I* Brief description
uniqueID STRING * Name

* I = Indexable data field,
grey background = inherited data field

Use in AppsWH
Module Brief description