aFullObject
Inherit from aLightObject
aFullObject
is an instance that can be stored in a database and which can be versioned. The very fact that your classes inherit from aFullObject
lets you create versioning applications. Myriad functions available to you in aFullObject
, as well as those in aLightObject which you inherit, will speed your development 100 fold.
The inherited variables of the class aFullObject
are:
NsId
, an integer variable typed with typeInt4
,Id
, an integer variable typed with typeInt8
,Version
, an integer variable typed with typeReversInt4
(a type defined in the SystemModDef module, and which is similar to Int4).
NsId is an abbreviation for Name Space Identifier. It classifies objects that belong to a category of objects. Each category of objects has its own Name Space Identifier.
Within a category of objects identified by a NsId, each object is classified with the Id identifier.
The Version variable is modified each time you create a new version of an object.
The set of these three variables creates a single unique identifier of an object. It is called the full identifier of the object. Two different objects can be identified with the same Id
identifier, but they always have different full identifiers.
procedure DumpClassInfo(forFullObject : aFullObject)
var theClassDef : aClassDef
var curVar : aVarDesc
var curMethod : aMethodDesc
WriteLn('Info on class: ', forFullObject.ClassName)
theClassDef = forFullObject.ClassDef
forEach curVar in theClassDef.myVars
WriteLn(curVar)
endFor
forEach curMethod in theClassDef.myMethods
WriteLn(curMethod)
endFor
endProc
ActionFormer
ActionFormer(theUIAgent: aUIAgent)
ActionSuspend
ActionSuspend(theUIAgent: aUIAgent)
ActionUndo
ActionUndo(theUIAgent: aUIAgent)
AfterAccept
AfterAppendInTransaction
AfterDelete
AfterPhantom
AfterPhantom(Phantomized: Boolean)
AfterStore
AllocateFullId
Authorize
Authorize(ActionKind: tActionKind)
BeforeAccept
BeforeCommitDelete
BeforeCommitPhantom
BeforeCommitPhantom(Phantomize: Boolean)
BeforeCommitStore
BeforeStore
BuildFullId
Freeze
Freeze(unFreeze: Boolean)
HasChanged
IdNameSpaceId
InitAfterLoad
InitAfterNewVersion
InitTransientVars
InitTransientVars(OfThisPerspectiveId: Int8)
LockKind
MainTransaction
MustBeSharedBetweenThreads
NameNameSpaceId
NewPB
NewTransaction
NewVersion
OneVersionHasBeenStored
Project
RemoteServiceName
ShowTransaction
ShowTransaction(theUIAgent: aUIAgent)
SwitchUIToLastVersion
Versionning
Versionning(Freezingstyle: Any, forThisDBDef: Pointer)
getMainAccessPlans
getMainAccessPlans(forThisDBDef: Pointer)