General class to extend to add a "singleton" interface to any registered or persistent class. More...
Public Member Functions | |
_.Library.Status | OnClose () |
Removes the OREF of this instance from PPG. More... | |
_.Library.Status | OnNew () |
Tracks the OREF of this instance in a PPG for later reference. More... | |
Static Public Attributes | |
NAMESPACESCOPE = None | |
If set to 1, calls to Get must return an instance of this class created in the current namespace; a new instance will be created if none exists. | |
PPG = None | |
PPG in which to track references to the instance of this class. | |
Static Private Member Functions | |
_.IPM.General.Singleton | Get (_.Library.Status pSC) |
Return the single per-process/namespace instance of this class, or create a new one. More... | |
_.IPM.General.Singleton | __GetInMemoryInstance () |
This method finds the existing instance of an object of a current class (created in the namespace if ..NAMESPACESCOPE is 1) if it exists in the current process. More... | |
General class to extend to add a "singleton" interface to any registered or persistent class.
For persistent classes, requires that the class has a unique index defined on a read-only property with an InitialExpression.
|
staticprivate |
Return the single per-process/namespace instance of this class, or create a new one.
For persistent classes, may open the existing single record by its unique index.
_.Library.Status OnClose | ( | ) |
Removes the OREF of this instance from PPG.
Subclasses of IPM.General.Singleton that override this method MUST call ##super().
Reimplemented in TempFileManager, and LogManager.
_.Library.Status OnNew | ( | ) |
Tracks the OREF of this instance in a PPG for later reference.
Subclasses of IPM.General.Singleton that override this method MUST call ##super().
Reimplemented in Manager.
|
staticprivate |
This method finds the existing instance of an object of a current class (created in the namespace if ..NAMESPACESCOPE is 1) if it exists in the current process.
Exceptions are caught by calling code.