Skip to main content

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 type Int4,
  • Id, an integer variable typed with type Int8,
  • Version, an integer variable typed with type ReversInt4 (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) 

isDistributable

myNameSpace