Das Method Dictionary beschreibt die für InstantView® sichtbaren Methoden einer Klasse.
Aus einer formalisierten Beschreibung wird mittels des ClassiX®-Programms CXDGEN C++-Code
erzeugt. Die Beschreibung enthält:Rückgabewert | generalisierter Datentyp |
Funktionsname | |
Parameter 1 | generalisierter Datentyp |
Parameter2 | generalisierter Datentyp |
. . . | |
Parameter n | generalisierter Datentyp |
wobei es die folgenden (generalisierten) Datentypen gibt:
Typ | C++ - Schreibweise | Bemerkung | Fußnote |
---|---|---|---|
VOID | void | ||
STRING | char * | ||
MULTIPLE_STRING | CXB_MULTIPLE_STRING * oder CXB_MULTIPLE_STRING & | ||
OBJECT | CX_CLASS * oder CX_CLASS & | ||
VOLATILE_OBJECT | CX_CLASS * oder CX_CLASS & | nur als Rückgabewert | 1. |
VECTOR<OBJECT> | CX_CLASS ** | letztes Element NULL | |
VECTOR<INTEGER> | int * | letztes Element INT_MAX | |
VECTOR<STRING> | char ** | letztes Element NULL | |
COLLECTION | os_collection * oder os_collection & | ||
MA | CXS_VIEW_DESCRIPTOR * | nur als erster Parameter | 2. |
ANY | void * | nur als Rückgabewert | 3. |
- Wenn eine Funktion ein transientes Objekt erzeugt, kann man fordern, dass die
Garbage-Collection des ClassiX®-Systems dieses Objekt automatisch beseitigt, sobald es
nicht mehr gebraucht wird. Dies geschieht, wenn man für die Funktion als Rückgabewert VOLATILE_OBJECT einträgt. - für eine Zugriffsfunktion; weitere 'normale' Parameter können folgen.
- Funktionen, die bei verschiedenen Aufrufen Daten unterschiedlichen Typs zurückgeben,
können mit Signatur ANY eingetragen werden. Die Funktion muss den Typ des Rückgabewertes dem ClassiX®-System mit CX_CLASS::SetTypeOfReturnValue() bekannt machen; Tabellen zur impliziten Transformation von Enumerations kann die Funktion mit CX_CLASS::RegisterEnumTransTbl() registrieren lassen. Dieses Feature wird z.B. für
Attribute (Objekte der von CX_ATTRIBUTE abgeleiteten Klassen) benutzt.
Beispiel:
MDI(CX_CONDITIONED_BAG)
OBJECT Pick(VOID)
OBJECT Pick(VOID) EXTERN(Evaluate) // similar
to CX_FORMULA
COLLECTION Query(VOID)
COLLECTION FindAll(VOID)
OBJECT Amount(VOID)
VECTOR<STRING> ColVarNames(VOID)
VECTOR<INTEGER> ColVarNumbers(VOID)
VECTOR<INTEGER> ColVarTypes(VOID)
INTEGER NColumnVars(VOID)
VOID AddColVar(STRING)
VOID RemoveColVar(STRING)
VOID Delete(OBJECT)