Skip to content

TBoldObjectLocator

The purpose of a TBoldObjectLocator is to provide a way to refer to objects without having them loaded in memory.

Unit: BoldSystem

Declaration

TBoldObjectLocator = class(TBoldMemoryManagedObject)

Hierarchy

  1. TObject
  2. TBoldMemoryManagedObject
  3. TBoldObjectLocator

Description

Its two main features are the BoldObject and BoldObjectID properties. Locators are always owned by a Locators

Properties

Name Summary Notes
AsString The textual representation of the locator. read-only
BoldObject The Bold object that the locator is a locator for. read-only
BoldObjectID Id of object read-only
BoldSystem TBoldSystem that the locator belongs to read-only
EmbeddedSingleLinks Get/Set embedded single links when object is not loaded
EnsuredBoldObject The Bold object that the locator is a locator for. read-only
ObjectIsPersistent If the object is persistent read-only

AsString

property AsString: string;

The textual representation of the locator is the same as the textual representation of its object id.

BoldObject

property BoldObject: TBoldObject;

This property contains the Bold object that the locator is a locator for. If the Bold object is not loaded into memory, the BoldObject property is nil.

BoldObjectID

property BoldObjectID: TBoldObjectId;

This is the ID of the object which the locator refers to. The BoldObjectId is owned by the locator.

BoldSystem

property BoldSystem: TBoldSystem;

Each locator belongs to a TBoldSystem. All locators bolonging to a system can be found in the Locators property of the system.

property EmbeddedSingleLinks[EmbeddedIndex:integer]: TBoldObjectLocator;

The EmbeddedSingleLinks property makes it possible to store the values of all embedded single links in the Locator when the object is not loaded. Assigning to this property will automatically create storage for the embedded singllinks. It is freed by EmbeddedSingleLinksToObject

EnsuredBoldObject

property EnsuredBoldObject: TBoldObject;

This is the same as the BoldObject property if the Bold object is loaded in memory. If it is not loaded, the EnsuredBoldObject property loads the Bold object and returns it, whereas the BoldObject property returns nil.

ObjectIsPersistent

property ObjectIsPersistent: Boolean;

If the object is persistent

Methods

Name Summary Notes
AtTime
Destroy Destroy object locator override
DiscardBoldObject Discard BoldObject if it is in memory.
EnsureBoldObject Ensure that BoldObject is assigned
Hash The locator has a hash value, allowing it to be efficiently indexed in a list.
UnloadBoldObject Unloads the locator's Bold object from memory.

AtTime

function AtTime(Time: TBoldTimeStampType): TBoldObjectLocator;

Returns the locator as it looked at the time point identified by the Time time stamp.

Note
This feature is only available in the Object Versioning Extension to Bold for Delphi.

Destroy

destructor Destroy; override;

Destroys locator, freeing BoldObjectId.

Note
This destructor should not be called directly, since BoldSystem.Locators owns it's objects. Call BoldSystem.Locators.Remove(locator) instead.

DiscardBoldObject

procedure DiscardBoldObject;

Discard BoldObject if it is in memory.

EnsureBoldObject

procedure EnsureBoldObject;

The method will fetch the object corresponding to BoldObjectId into memory if is is not already there.

Hash

function Hash: Cardinal;

The locator has a hash value, allowing it to be efficiently indexed in a list.

UnloadBoldObject

procedure UnloadBoldObject;

Unloads the locator's Bold object from memory. UnloadBoldObject will raise an exception if the Bold object is dirty.


Generated from the Bold 4.0 help (Help/BfD.chm) by Tools/chm2mkdocs.py; member lists reflect Bold 4.0, see the source for members added since.