Purpose:
A dkDatastoreDef provides a generic interface to access and manipulate datastore metadata, such as the creation and deletion of tables or index-classes, columns or attributes, listing them, and so forth. This class contains dkDatastoreAdmin class which implements datastore administrative functions, for example, managing user ID, access control, and other non-metadata related functions.
dkDatastoreDef should be subclassed to provide a specific implementation for the target datastore. For example:
Class summary:
class dkDatastoreDef { public: virtual ~dkDatastoreDef(); dkDatastore* getDatastore(); void setDatastore(dkDatastore* ds); DKString datastoreName() const; DKString datastoreType() const; virtual dkEntityDef* createEntity(); virtual dkEntityDef* getEntity(const char* entityName); virtual dkEntityDef* retrieveEntity(const char* entityName); virtual dkCollection* listEntities(); virtual dkCollection* listEntities(long options); virtual dkCollection* listEntities(const DKNVPair* options, long arraySize); virtual DKString* listEntityNames(long& arraySize); virtual DKString* listEntityNames(long options, long& arraySize); virtual DKString* listEntityNames(const DKNVPair* options, long optionArraySize, long& arraySize); virtual dkCollection* listSearchableEntities(); virtual dkCollection* listSearchableEntities(long option); virtual dkCollection* listSearchableEntities(const DKNVPair* options, long arraySize); virtual DKString* listSearchableEntityNames(long& arraySize); virtual DKString* listSearchableEntityNames(long options, long& arraySize); virtual DKString* listSearchableEntityNames(const DKNVPair* options, long optionArraySize, long& arraySize); virtual dkCollection* listEntityAttrs(const char* entityName); virtual DKString* listEntityAttrNames(const char* entityName, long& arraySize); virtual dkCollection* listSearchTemplates(); virtual DKString* listSearchTemplateNames(long& arraySize); virtual void add(dkEntityDef* entityDef); virtual void del(dkEntityDef* entityDef); virtual void deleteEntity(const char* entityName); virtual dkDatastoreAdmin* datastoreAdmin(); virtual void clearCache(); };
Members:
void setDatastore(dkDatastore* ds);
dkDatastore* getDatastore();
DKString datastoreName() const;
DKString datastoreType() const;
virtual dkEntityDef* createEntity();
Exceptions
DKException -- An error occurs in the datastore.
virtual dkEntityDef* getEntity(const char* entityName);
Exceptions
DKException -- An error occurs in the datastore.
virtual dkEntityDef* retrieveEntity(const char* entityName);
Exceptions
DKException -- An error occurs in the datastore.
virtual dkCollection* listEntities();
Exceptions
DKException -- An error occurs in the datastore.
virtual dkCollection* listEntities(long options); virtual dkCollection* listEntities(const DKNVPair* options, long arraySize);
Exceptions
DKException -- An error occurs in the datastore.
virtual DKString* listEntityNames(long& arraySize);
Exceptions
DKException -- An error occurs in the datastore.
virtual DKString* listEntityNames(long options, long& arraySize); virtual DKString* listEntityNames(const DKNVPair* options, long optionArraySize, long& arraySize);
Exceptions
DKException -- An error occurs in the datastore.
virtual dkCollection* listEntityAttrs(const char* entityName);
Exceptions
DKException -- An error occurs in the datastore.
virtual DKString* listEntityAttrNames(const char* entityName, long& arraySize);
Exceptions
DKException -- An error occurs in the datastore.
virtual dkCollection* listSearchTemplates();
Exceptions
DKException -- An error occurs in the datastore.
virtual DKString* listSearchTemplateNames(long& arraySize);
Exceptions
virtual void add(dkEntityDef* entityDef);
Exceptions
virtual void del(dkEntityDef* entityDef);
Exceptions
virtual void deleteEntity(const char* entityName);
Exceptions
DKException -- An error occurs in the datastore.
virtual dkDatastoreAdmin* datastoreAdmin();
virtual dkCollection* listSearchableEntities(long option); virtual dkCollection* listSearchableEntities(const DKNVPair* options, long arraySize);
virtual DKString* listSearchableEntityNames(long options, long& arraySize); virtual DKString* listSearchableEntityNames(const DKNVPair* options, long optionArraySize, long& arraySize);
virtual void clearCache();
(c) Copyright International Business Machines Corporation 1996, 2003. IBM Corp. All rights reserved.