Taxonomy Categories:
Member Functions:
Interface Category:
API.
Inherits From:
TStorageMechanism
Inherited By:
TChildStandardStorageMechanism
TStandardStorageMechanism
Purpose:
TMultiBinStorageMechanism is a TStorageMechanism derived class which adds the API to manage multiple storage bins.
Instantiation:
TMultiBinStorageMechanism is an abstract base class and only instantiated as part of a derived class.
Deriving Classes:
This is an abstract class. Derived class must implement the protocol defined by this class. Derived classes must override the pure virtual functions: CreateIn, CopyInto, MoveInto, DoesExistIn, AddAttribute, DeleteAttribute, CopyAttribute, DeleteAllAttributes, and CopyAllAttributes.
TStandardStorageMechanism is a derived class using Pluto file system entities.
Concurrency:
Multithread safe.
Concurrency among threads within a team is provided by the shared hidden master. Concurrency between teams is provided by the underlying service used to implement the storage mechanism. In both cases, the semantics of multiple readers, or single writer will be enforced.
Resource Use:
TMultiBinStorageMechanism is abstract and always created and deleted as part of a derived class.
virtual ~ TMultiBinStorageMechanism ()
Interface Category:
API.
Purpose:
Destructor.
Calling Context:
Called to destroy an object.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
virtual void CreateIn (TStorageMechanism & parent)
Interface Category:
API.
Purpose:
Creates the storage mechanism inside the parent storage mechanism. This CreateIn operation depends on the type of storage mechanism used. For standard storage mechanism types, this results in the storage mechanism's directory being created underneath the parent standard storage mechanism's directory.
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function is a pure virtual function and must be overridden by classes deriving from TMultiBinStorageMechanism.
virtual TMultiBinStorageMechanism * CopyInto (TStorageMechanism & parent)
Interface Category:
API.
Purpose:
Creates a copy of the storage mechanism inside the parent storage mechanism. This CopyInto operation depends on the type of storage mechanism used. For standard storage mechanism types, this results in the copied storage mechanism's directory being created underneath the parent standard storage mechanism's directory.
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function is a pure virtual function and must be overridden by classes deriving from TMultiBinStorageMechanism.
virtual void MoveInto (TStorageMechanism & parent)
Interface Category:
API.
Purpose:
Moves the storage mechanism to be placed inside the parent storage mechanism. This MoveInto operation depends on the type of storage mechanism used. For standard storage mechanism types, this results in the storage mechanism's directory being moved to reside underneath the parent standard storage mechanism's directory.
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function is a pure virtual function and must be overridden by classes deriving from TMultiBinStorageMechanism.
virtual void AddAttribute (const TDocumentAttribute & theAttribute)
Interface Category:
API.
Purpose:
Adds the attribute to the storage mechanism's attribute list replacing a matching attribute if one exists.
Calling Context:
Call this function directly.
Parameters:
- const TDocumentAttribute & theAttribute -The attribute to add.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function is a pure virtual function and must be overridden by classes deriving from TMultiBinStorageMechanism.
Postconditions:
Assertion (CopyAttribute(const TDocumentAttribute) != NIL).
virtual void DeleteAttribute (const TDocumentAttribute & thePatternToMatch)
Interface Category:
API.
Purpose:
Deletes the attribute from the specified multi bin storage mechanism's attribute list if it exists.
Calling Context:
Call this function directly.
Parameters:
- const TDocumentAttribute & thePatternToMatch -The attribute to delete.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function is a pure virtual function and must be overridden by classes deriving from TMultiBinStorageMechanism.
Postconditions:
Assertion (CopyDocumentAttribute(const TDocumentReference&, const TDocumentAttribute) ==NIL).
virtual TDocumentAttribute * CopyAttribute (const TDocumentAttribute & thePatternToMatch) const
Interface Category:
API.
Purpose:
Copies a specific attribute from a document store if it exists.
Calling Context:
Call this function directly.
Parameters:
- const TDocumentAttribute & thePatternToMatch -The attribute to copy.
Return Value:
Returns the copied attribute or NIL if attribute did not exist for specified document.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function is a pure virtual function and must be overridden by classes deriving from TMultiBinStorageMechanism.
virtual void DeleteAllAttributes ()
Interface Category:
API.
Purpose:
Deletes all the attributes for the specified document
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function is a pure virtual function and must be overridden by classes deriving from TMultiBinStorageMechanism.
Postconditions:
Assertion (CopyAttribute(TDocumentAttribute&) ==NIL) for all attributes.
virtual void CopyAllAttributes (TCollectionOf<TDocumentAttribute> &) const
Interface Category:
API.
Purpose:
Copies all the attributes for the specified document.
Calling Context:
Call this function directly.
Parameters:
- TCollectionOf<TDocumentAttribute> & -The collection to fill with copied attributes.
Return Value:
None
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function is a pure virtual function and must be overridden by classes deriving from TMultiBinStorageMechanism.
- TMultiBinStorageMechanism ()
- TMultiBinStorageMechanism (const TMultiBinStorageMechanism &)
Interface Category:
API.
Purpose:
- Default constructor. Used to resurrect a flattened storage mechanism.
- Copy constructor.
Calling Context:
- Called by the stream-in operators and derived class constructors.
- Called to copy an object.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
TMultiBinStorageMechanism is an abstract base class--all the constructors are protected. Do not instantiate this class.
TMultiBinStorageMechanism & operator =(const TMultiBinStorageMechanism &)
Interface Category:
API.
Purpose:
Assignment operator.
Calling Context:
Called when an object is assigned to another compatible object.
Parameters:
Return Value:
A non-const reference to the left-hand side object.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
TMultiBinStorageMechanism is an abstract base class--all the constructors are protected. Do not instantiate this class.
virtual bool DoesExistIn (const TStorageMechanism & parent) const
Interface Category:
API.
Purpose:
Determines whether or not this storage mechanism exists in the specified parent. This operation depends on the type of storage mechanism used. For standard storage mechanism types, this function tests whether or not the storage mechanism's directory is in the parent storage mechanism's directory.
Calling Context:
Call this function directly.
Parameters:
Return Value:
Returns true if this document store exists in the specified parent; false otherwise.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function is a pure virtual function and must be overridden by classes deriving from TMultiBinStorageMechanism.
Precondition:
Assertion( GetStorageMechanism() != NIL ).
Assertion( parent.GetStorageMechanism() != NIL ).
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.