Index

DKDatastoreDD

Purpose:

This class can be used to access a Domino.Doc datastore, which is called a "library". Documents are the smallest entity stored in a Domino.Doc library. A Domino.Doc library has entities which have sub entities: A library has "rooms," which have "cabinets," which have "binders," which have "documents."

Class summary:

class DKDatastoreDD : public dkDatastore
{
public:
  DKDatastoreDD();
  DKDatastoreDD(const char* configuration);
 
  virtual ~DKDatastoreDD();
 
  virtual void connect( const char* datastore_name
              , const char* user_name = ""
              , const char* authentication = ""
              , const char* connect_string = "");
  virtual void disconnect();
  virtual dkExtension* getExtension(const char* extensionName);
  virtual void addExtension(const char* extensionName,
                            dkExtension* extensionObj);
  virtual void removeExtension(const char* extensionName);
  virtual DKString* listExtensionNames(long& arraySize);
  virtual dkCollection* listEntities();
  virtual dkCollection* listSearchableEntities();
  virtual DKString* listSearchableEntityNames(long& arraySize);
  virtual DKBoolean isConnected();
  virtual DKString getLibraryName();
  virtual DKHandle* handle(const char* type);
  virtual void retrieveObject(dkDataObject* dataobj);
  virtual dkDatastoreDef* datastoreDef();
  virtual void getOption(long option, DKAny& value);
  virtual void setOption(long option, DKAny& value);
  virtual DKString registerMapping(DKNVPair* sourceMap);
  virtual void unRegisterMapping(const char* mappingName);
  virtual DKString* listMappingNames(long& arraySize);
  virtual dkSchemaMapping* getMapping(const char* mappingName);
  virtual DKAny evaluate(const char* command,
                         const short commandLangType,
                         const DKNVPair* parms = 0);
  virtual DKAny evaluate( dkQuery* query);
  virtual DKAny evaluate(DKCQExpr* qe);
  virtual dkResultSetCursor* execute( const char* command,
                                      const short commandLangType,
                                      const DKNVPair* parms = 0);
  virtual dkResultSetCursor* execute( dkQuery* query);
  virtual dkResultSetCursor* execute( DKCQExpr* qe);
  virtual void executeWithCallback( const char* command,
                                    const short commandLangType,
                                    const DKNVPair* parms,
                                    dkCallback* callbackObj);
  virtual void executeWithCallback( dkQuery* query,
                                    dkCallback* callbackObj);
  virtual void executeWithCallback( DKCQExpr* qe,
                                    dkCallback* callbackObj);
  virtual dkQuery*  createQuery(const char* command,
                                const short commandLangType,
                                const DKNVPair* parms=0);
  virtual dkQuery*  createQuery(DKCQExpr* qe);
};

Members:

Constructors and destructor
Constructs and initializes a Domino.Doc datastore. A connection will not be established by the constructors. The second constructor takes a configuration string which supplies the specific initialization parameters. Valid parameters include:

CC2MIMEURL=value
The url for the file containing the content-class-to-mime-type mapping.

CC2MIMEFILE=value
The name of the file containing the content-class-to-mime-type mapping. This parameter is ignored if the CC2MIMEURL parameter is specified.

DSNAME=value
The name to be given to this datastore.

  DKDatastoreDD();
  DKDatastoreDD(const char* configuration);
  virtual ~DKDatastoreDD();
 

Member functions

connect
Connects to a Domino.Doc datastore.

Parameters

datastore_name
The Domino server name of the Domino.Doc library; for example: machineName.yourCo.com/domdoc.nsf.

user_name
The short user name registered at the Domino server.

authentication
The password being used to connect.

connect_string
A string which supplies all of the specific connection parameters to establish and maintain a connection to the content server.

  virtual void connect( const char* datastore_name
              , const char* user_name = ""
              , const char* authentication = ""
              , const char* connect_string = "");
 

disconnect
Disconnects from a Domino.Doc datastore.
  virtual void disconnect();
 

getExtension
Gets the extension object from a given extension name.
  virtual dkExtension* getExtension(const char* extensionName);
 

addExtension
Adds a new extension object.
  virtual void addExtension(const char* extensionName,
                            dkExtension* extensionObj);
 

removeExtension
Removes an existing extension object.
  virtual void removeExtension(const char* extensionName);
 

listExtensionNames
Gets the list of extension objects' names.
  virtual DKString* listExtensionNames(long& arraySize);
 

listEntities
Gets a list of rooms from the persistent datastore. The returned collection contains DKAny objects which contain DKRoomDefDD objects.
  virtual dkCollection* listEntities();
 

listSearchableEntities
Gets a list of cabinets from a Domino.Doc library. The returned collection contains DKAny objects, which contain DKCabinetDefDD objects.
  virtual dkCollection* listSearchableEntities();
 

listSearchableEntityNames
Gets a list of cabinets' names from a Domino.Doc library.
  virtual DKString* listSearchableEntityNames(long& arraySize);
 

isConnected
Checks to see if the datastore is connected.
  virtual DKBoolean isConnected();
 

getLibraryName
Gets the library name.
  virtual DKString getLibraryName();
 

handle
Gets a datastore handle.
  virtual DKHandle* handle(const char* type);
 

retrieveObject
Retrieves the DDO from this datastore. The documentId held in the dataobj parameter's PID is used to get the document.
  virtual void retrieveObject(dkDataObject* dataobj);
 

datastoreDef
Gets datastore definition.
  virtual dkDatastoreDef* datastoreDef();
 

getOption
Gets a defined datastore option.
  virtual void getOption(long option, DKAny& value);
 

setOption
Sets an option which will influence the behavior of called methods.

  virtual void setOption(long option, DKAny& value);
 

registerMapping
Registers mapping information to this datastore.
  virtual DKString registerMapping(DKNVPair* sourceMap);

unRegisterMapping
Unregisters mapping information for this datastore.
  virtual void unRegisterMapping(const char* mappingName);
 

listMappingNames
Gets the list of the register mappings for this datastore.
  virtual DKString* listMappingNames(long& arraySize);
 

getMapping
Get mapping information for this datastore.
  virtual dkSchemaMapping* getMapping(const char* mappingName);
 

evaluate
The first form retrieves a collection of documents resulting from running the query contained in the query string. The query string is sent to Domino.Doc as is. The query options, set previously with setOption are used. This method calls the execute method. The second form retrieves a collection of documents resulting from running the query contained in the dkQuery. The query string is sent to Domino.Doc as is. The query options, set previously with setOption, are used. This method calls the execute method. The third form executes a DKCQexpr (query expression).

Parameters

command
Is a semi-colon separated list, formatted as follows:
"ENTITY=<"cabinetTitle">; QUERY=<"lotusQueryString">" 

ENTITY=
ENTITY= must be the first word in the query string if you want to limit the query to searching just one cabinet. If the ENTITY parameter and value is missing, then the entire library is searched.

QUERY=
QUERY= is required. It is a Lotus Query String. Refer to the FTSearch method in Lotus Notes for information about the syntax of the string.

commandLang
Is ignored

params
Is optional. These are the same options set with the setOption method of this class.

  virtual DKAny evaluate(const char* command,
                         const short commandLangType,
                         const DKNVPair* parms = 0);
  virtual DKAny evaluate( dkQuery* query);
  virtual DKAny evaluate(DKCQExpr* qe);
 

execute
The first form retrieves a collection of documents resulting from running the query contained in the query string. The query string is sent to Domino.Doc as is. The query options, set previously with setOption, are used. The second and third forms execute the query.
  virtual dkResultSetCursor* execute( const char* command,
                                      const short commandLangType,
                                      const DKNVPair* parms = 0);
  virtual dkResultSetCursor* execute( dkQuery* query);
  virtual dkResultSetCursor* execute( DKCQExpr* qe);
 

executeWithCallback
Executes the query with a callback function.
  virtual void executeWithCallback( const char* command,
                                    const short commandLangType,
                                    const DKNVPair* parms,
                                    dkCallback* callbackObj);
  virtual void executeWithCallback( dkQuery* query,
                                    dkCallback* callbackObj);
  virtual void executeWithCallback( DKCQExpr* qe,
                                    dkCallback* callbackObj);
 

createQuery
Creates a parametric query object.
  virtual dkQuery*  createQuery(DKCQExpr* qe);
 

(c) Copyright International Business Machines Corporation 1996, 2003. IBM Corp. All rights reserved.