getClassProperty
getClassProperty(pClassNumber: Integer; pName: String; pType: Integer output; pLength: Integer output; pPrecision: Integer output; pScale: Integer output; pRefClass: Integer output): Boolean;
The getClassProperty method of the JadeAuditAccess class obtains property information. From the input class number specified by the pClassNumber parameter, it returns the information for the property specified by the pName parameter as loaded from the description file. The description file is a text file generated using JADE meta schema programming.
The pType output parameter is the property type value. Given an instance prop of Property:
A line in the description file … | Is generated using the string expression … |
---|---|
p=<property name> | 'p=' & prop.name; |
; t=<type name>/<type number> | '; t=' & prop.type.name & '/' & prop.type.number.String; |
The pType parameter can be any of the property types that JADE implements. The following code example is similar to the code that generates the type information for the attributes of a class pClass in a description file.
if pClass.allProperties.size > 0 then foreach prop in pClass.allProperties do if prop.virtual then continue; endif; str:= "prop=" & prop.name; if prop.isKindOf(Attribute) then str:= str & " [" & prop.type.name & "(" & prop.type.number.String & ")]"; endif; write str; endforeach; endif;
This may or may not be of interest to the JadeAuditAccess code you implement. It is used internally by JadeAuditAccess to process attributes of a specific type (for example, blobs and slobs) appropriately.
When operating out of band (where journals and description files are from a different system), you cannot use the class and property information from JadeAuditAccess as input to meta-programming constructs in the executing process, as the schema definition does not exist.
When operating in band, the issue remains as to whether the description file in use is the same as that which is current (that is, there are no outstanding reorganizations that JadeAuditAccess has yet to traverse).