IExtObjectContainer Interface

Summary

extended functionality for the Db4objects.Db4o.IObjectContainer interface.

Every db4o Db4objects.Db4o.IObjectContainer always is an ExtObjectContainer so a cast is possible.

Db4objects.Db4o.IObjectContainer.Ext is a convenient method to perform the cast.

The ObjectContainer functionality is split to two interfaces to allow newcomers to focus on the essential methods.
graph BT Type-.->Interface0["IObjectContainer"] click Interface0 "/db4o-gpl-doc/output/api/Db4objects.Db4o/IObjectContainer" Type-.->Interface1["IDisposable"] Type-.->Interface2["ISodaQueryFactory"] click Interface2 "/db4o-gpl-doc/output/api/Db4objects.Db4o.Query/ISodaQueryFactory" Type["IExtObjectContainer"] class Type type-node Implementing0["LocalObjectContainer"]-.->Type click Implementing0 "/db4o-gpl-doc/output/api/Db4objects.Db4o.Internal/LocalObjectContainer" Implementing1["IInternalObjectContainer"]-.->Type click Implementing1 "/db4o-gpl-doc/output/api/Db4objects.Db4o.Internal/IInternalObjectContainer" Implementing2["IExtClient"]-.->Type click Implementing2 "/db4o-gpl-doc/output/api/Db4objects.Db4o.Ext/IExtClient" Implementing3["IoAdaptedObjectContainer"]-.->Type click Implementing3 "/db4o-gpl-doc/output/api/Db4objects.Db4o.Internal/IoAdaptedObjectContainer" Implementing4["ObjectContainerSession"]-.->Type click Implementing4 "/db4o-gpl-doc/output/api/Db4objects.Db4o.Internal/ObjectContainerSession" Implementing5["ExternalObjectContainer"]-.->Type click Implementing5 "/db4o-gpl-doc/output/api/Db4objects.Db4o.Internal/ExternalObjectContainer" Implementing6["TransportObjectContainer"]-.->Type click Implementing6 "/db4o-gpl-doc/output/api/Db4objects.Db4o.Internal/TransportObjectContainer" Implementing7["ObjectContainerBase"]-.->Type click Implementing7 "/db4o-gpl-doc/output/api/Db4objects.Db4o.Internal/ObjectContainerBase"

Syntax

public interface IExtObjectContainer : IObjectContainer, IDisposable, ISodaQueryFactory

Methods

Name Value Summary
Activate(Object) void
activates an object with the current activation strategy.
Backup(IStorage, string) void
backs up a database file of an open ObjectContainer.
Backup(string) void
backs up a database file of an open ObjectContainer.
Bind(Object, long) void
binds an object to an internal object ID.
Configure() IConfiguration
returns the Configuration context for this ObjectContainer.
Deactivate(Object) void
deactivates an object.
Descend(Object, string[]) Object
returns a member at the specific path without activating intermediate objects.
GetByID(long) Object
returns the stored object for an internal ID.
GetByUUID(Db4oUUID) Object
returns a stored object for a Db4objects.Db4o.Ext.Db4oUUID .

This method is intended for replication and for long-term external references to objects. To get a Db4objects.Db4o.Ext.Db4oUUID for an object use Db4objects.Db4o.Ext.IExtObjectContainer.GetObjectInfo(System.Object) and Db4objects.Db4o.Ext.IObjectInfo.GetUUID .

Objects will not be activated by this method. They will be returned in the activation state they are currently in, in the local cache.

GetID(Object) long
returns the internal unique object ID.
GetObjectInfo(Object) IObjectInfo
returns the Db4objects.Db4o.Ext.IObjectInfo for a stored object.

This method will return null, if the passed object is not stored to this ObjectContainer.

Identity() Db4oDatabase
returns the Db4oDatabase object for this ObjectContainer.
IsActive(Object) bool
tests if an object is activated.
IsCached(long) bool
tests if an object with this ID is currently cached.
IsClosed() bool
tests if this ObjectContainer is closed.
IsStored(Object) bool
tests if an object is stored in this ObjectContainer.
KnownClasses() IReflectClass[]
returns all class representations that are known to this ObjectContainer because they have been used or stored.
Lock() Object
returns the main synchronization lock.
OpenSession() IObjectContainer
opens a new ObjectContainer on top of this ObjectContainer.
PeekPersisted(Object, int, bool) Object
returns a transient copy of a persistent object with all members set to the values that are currently stored to the database.
Purge() void
unloads all clean indices from memory and frees unused objects.
Purge(Object) void
unloads a specific object from the db4o reference mechanism.
Reflector() GenericReflector
Return the reflector currently being used by db4objects.
Refresh(Object, int) void
refreshs all members on a stored object to the specified depth.
ReleaseSemaphore(string) void
releases a semaphore, if the calling transaction is the owner.
SetSemaphore(string, int) bool
attempts to set a semaphore.
Store(Object, int) void
deep update interface to store or update objects.
StoredClass(Object) IStoredClass
returns a Db4objects.Db4o.Ext.IStoredClass meta information object.

There are three options how to use this method.
Any of the following parameters are possible:
- a fully qualified class name.
- a Class object.
- any object to be used as a template.

StoredClasses() IStoredClass[]
returns an array of all Db4objects.Db4o.Ext.IStoredClass meta information objects.
SystemInfo() ISystemInfo
returns the Db4objects.Db4o.Ext.ISystemInfo for this ObjectContainer.

The Db4objects.Db4o.Ext.ISystemInfo supplies methods that provide information about system state and system settings of this ObjectContainer.
Version() long
returns the current transaction serial number.