Index
Purpose:
DKDatastoreExtICM is the implementation class of ICM datastore extension
object. The purpose of this class is to extendthe DKDatastoreICM class
with more functionalities specific to Content Manager server normally not
available from dkDatastore interface. You can use the method
listFunctions() to list the functions supported by this class. The
extension object is implemented based on the Extension Object pattern
described in "Pattern Languages for Program Design, vol. 3, R.
Martin, et al (eds), Addison Wesley, 1998". You can get an instance of
this class by calling the method getExtension(DK_CM_DATASTORE_EXT) in
DKDatatoreICM class, or by invoking the class contructor.
Hierarchy: dkExtension dkDatastoreExt DKDatastoreExtICM
Since: Version 8
Class summary:
class DKEXPORT DKDatastoreExtICM: public dkDatastoreExt
{
public:
DKDatastoreExtICM();
DKDatastoreExtICM(dkDatastore* ds);
virtual ~DKDatastoreExtICM();
dkDatastore* getDatastore();
void setDatastore(dkDatastore* ds);
virtual DKBoolean isSupported(const char* functionName);
virtual DKString* listFunctions(long& arraySize);
virtual void checkOut(dkDataObject* item);
virtual void checkIn(dkDataObject* item);
virtual DKCommonPrivilege* getCommonPrivilege();
virtual DKCommonPrivilege* getCommonItemPrivilege(dkDataObject* item);
void addLink(DKLink* link);
void removeLink(DKLink* link);
virtual void setName(const char* extName);
virtual DKString getName() const;
virtual void addToFolder(dkDataObject* folder, dkDataObject* member);
virtual void removeFromFolder(dkDataObject* folder, dkDataObject* member);
void removeLinks(dkCollection* links);
virtual void moveObject(dkDataObject* ddo, const char* entityName);
virtual void moveObject(dkDataObject* srcItem, dkDataObject* destItem, long options);
};
Members:
-
-
- Constructors and destructor
-
DKDatastoreExtICM();
default constructor
DKDatastoreExtICM(dkDatastore* ds);
Constructor that takes a datastore instance as a parameter.
Parameters:
ds - datastore as an instance of DKDatastoreICM
virtual ~DKDatastoreExtICM();
Destructor for this object.
- Member functions
-
- getName()
- Retrieves the extension object's name.
Returns: extension object name as a DKString
reference.
DKString getName() const;
- setName()
- Sets the extension object's name. This operation is not
supported, since you cannot change the datastore standard extension
name. Parameters:extName - the name of this extension
object.
void setName(const char* extName);
- getDatastore()
- Retrieves the pointer to the owner datastore object.
Returns:the datastore object reference as an instance of
DKDatastoreICM. Returns NULL if the datastore is not set on the
extension object.
dkDatastore* getDatastore();
- setDatastore()
- Sets the pointer to the owner datastore object.
Parameters:ds - owner datastore as an instance of
DKDatastoreICM .
void setDatastore(dkDatastore* ds);
- isSupported()
- Query if the given function name is supported by this extension.
Parameters:functionName - the name of the function
Returns:TRUE, if the specified function is supported;
FALSE otherwise
DKBoolean isSupported(const char* functionName);
- listFunctions()
- Lists all supported function-names from this extension.
Parameters:arraySize - size of the returned function name
array. Returns:array of function names as DKString
variables
DKString* listFunctions(long& arraySize);
- addToFolder()
- Adds a new member item to this folder and reflects the results immediately
in the datastore, that is, make it persistent. In ICM, the member must
exist (have been created) in the datastore before it can be added to a
folder. Parameters:
- folder - folder to add new item to
- member - item to add
void addToFolder(dkDataObject* folder, dkDataObject* member);
- removeFromFolder()
- Removes a member from this folder and reflects the results immediately in
the datastore, that is, make it persistent. At the end of the
operation, the member object will not be in this DKFolder collection
in-memory, and it will also be removed from the persistent folder
representation in the datastore. Parameters:
- folder - folder to add new item to
- member - item to add
void removeFromFolder(dkDataObject* folder, dkDataObject* member)
- checkOut()
- Checks out a document or folder item from the datastore. The user
will have exclusive updating privileges to the item, while other users are
allowed read access only, until the user check it back in.
Parameters: item - item to check out.
void checkOut(dkDataObject* item);
- checkIn()
- Checks in a document or folder item previously checked out from the
datastore. This operation releases all write privileges to this
item. Parameters: item - item to check back in.
void checkIn(dkDataObject* item);
- getCommonPrivilege()
- Retrieves the common privilege of this datastore.
Returns: The common privilege as an instance of
DKCommonPrivilege
DKCommonPrivilege* getCommonPrivilege();
- getCommonPrivilege()
- Retrieves the common privilege for this item.
Parameters: item - item for which the common privilege is to
be determined Returns: common item privilege for the
specified item
virtual DKCommonPrivilege* getCommonItemPrivilege(dkDataObject* item);
- moveObject()
- Moves an item from the current item type to another item type in this
server. For the complete description, see the moveObject method in
DKDatastoreICM Parameters:
- ddo - item to move
- entityName - new item type name
virtual void moveObject(dkDataObject* ddo, const char* entityName);
- moveObject()
- Moves an item from the current item type to another item type in this
server. For the complete description, see the moveObject method in
DKDatastoreICM. Parameters:
- destItem - item to move to
- options - move options
- entityName - new item type name
virtual void moveObject(dkDataObject* srcItem, dkDataObject* destItem, long options);
- addLink()
- Adds a new link between a source and target item. Additional link
information is optional in DKLink object.
Parameters:link - link to add.
void addLink(DKLing* link);
- removeLink()
- Removes a link between a source and target item.
Parameters: link - link to remove
void removeLink(DKLink* link);
- removeFromFolder()
- Breaks all links specified in the DKLinkCollection. It does not
remove the DKLink objects fromthe collection. Calling
DKLinkCollection.removeAllMembers() will break all links in the link
collection and remove all elements. Parameters: links
- links to break
void removeLinks(dkCollection* links);
(c) Copyright International Business Machines Corporation 1996, 2003. IBM Corp. All rights reserved.