Purpose:
The ImagePlus for OS/390 implementation of datastore. This class is a specific implementation of the abstract class dkDatastore. The ImagePlus datastore provides facilities to query, retrieve, and manage documents stored on an ImagePlus for OS/390 server. The ability to add, update and delete documents and folders is not supported in this release. Also, the ability to check out and check in documents and folders is not supported in this release.
Class summary:
class DKDatastoreIP : public dkDatastore { public: DKDatastoreIP(); DKDatastoreIP(const char* configuration); virtual ~DKDatastoreIP(); virtual void connect (const char* datastore_name, const char* user_name = "", const char* authentication = "", const char* connect_string = ""); virtual void disconnect(); virtual void getOption(long option, DKAny& value); virtual void setOption(long option, DKAny& value); virtual DKAny evaluate(const char* command, const short commandLangType = DK_CM_PARAMETRIC_QL_TYPE, const DKNVPair* parms = 0); virtual DKAny evaluate( dkQuery* query); virtual DKAny evaluate(DKCQExpr* qe); virtual dkResultSetCursor* execute( const char* command, const short commandLangType = DK_CM_PARAMETRIC_QL_TYPE, 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 = DK_CM_PARAMETRIC_QL_TYPE, const DKNVPair* parms=0); virtual dkQuery* createQuery(DKCQExpr* qe); virtual void addObject(dkDataObject* dataObject); virtual void deleteObject(dkDataObject* dataObject); virtual void retrieveObject(dkDataObject* dataObject); virtual void updateObject(dkDataObject* dataObject); virtual void commit (); virtual void rollback (); virtual DKBoolean isConnected(); virtual DKHandle* connection(); virtual DKHandle* handle(const char* type); virtual dkCollection* listDataSources(); virtual DKString* listDataSourceNames(long& arrarySize); virtual dkCollection* listEntities(); virtual DKString* listEntityNames(long& arraySize); virtual dkCollection* listEntityAttrs(const char* entityName); virtual DKString* listEntityAttrNames(const char* entityName, long& arraySize); virtual DKBoolean isCheckedOut(dkDataObject* dataObject); virtual DKString checkedOutUserid(dkDataObject* dataObject); virtual void unlockCheckedOut(dkDataObject* dataObject); virtual void checkOut(dkDataObject* dataObject); virtual void checkIn(dkDataObject* dataObject); virtual dkDatastoreDef* datastoreDef(); virtual DKString registerMapping(DKNVPair* sourceMap); virtual void unRegisterMapping(const char* mappingName); virtual DKString* listMappingNames(long& arraySize); virtual dkSchemaMapping* getMapping(const char* mappingName); 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 DKDDO* createDDO(const char* objectType, long Flags); virtual dkXDO* retrieveFormOverlay(const char* objid); };
Members:
DKDatastoreIP(); DKDatastoreIP(const char* configuration); virtual ~DKDatastoreIP();
Parameters
virtual void connect (const char* datastore_name, const char* user_name = "", const char* authentication = "", const char* connect_string = "");
virtual void disconnect();
virtual void getOption(long option, DKAny& value);
virtual void setOption(long option, DKAny& value);
virtual DKAny evaluate(const char* command, const short commandLangType = DK_CM_PARAMETRIC_QL_TYPE, const DKNVPair* parms = 0); virtual DKAny evaluate( dkQuery* query); virtual DKAny evaluate(DKCQExpr* qe);
virtual dkResultSetCursor* execute( const char* command, const short commandLangType = DK_CM_PARAMETRIC_QL_TYPE, 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 = DK_CM_PARAMETRIC_QL_TYPE, const DKNVPair* parms=0); virtual dkQuery* createQuery(DKCQExpr* qe);
virtual void addObject(dkDataObject* dataObject);
virtual void deleteObject(dkDataObject* dataObject);
virtual void retrieveObject(dkDataObject* dataObject);
virtual void updateObject(dkDataObject* dataObject);
virtual void commit ();
virtual void rollback ();
virtual DKBoolean isConnected();
virtual DKHandle* connection();
virtual DKHandle* handle(const char* type);
virtual dkCollection* listDataSources();
virtual DKString* listDataSourceNames(long& arrarySize);
virtual dkCollection* listEntities();
virtual DKString* listEntityNames(long& arraySize);
virtual dkCollection* listEntityAttrs(const char* entityName);
virtual DKString* listEntityAttrNames(const char* entityName, long& arraySize);
virtual DKBoolean isCheckedOut(dkDataObject* dataObject);
virtual DKString checkedOutUserid(dkDataObject* dataObject);
virtual void unlockCheckedOut(dkDataObject* dataObject);
virtual void checkOut(dkDataObject* dataObject);
virtual void checkIn(dkDataObject* dataObject);
virtual dkDatastoreDef* datastoreDef();
Parameters
virtual DKString registerMapping(DKNVPair* sourceMap);
virtual void unRegisterMapping(const char* mappingName);
virtual DKString* listMappingNames(long& arraySize);
virtual dkSchemaMapping* getMapping(const char* mappingName);
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 DKDDO* createDDO(const char* objectType, long Flags);
virtual dkXDO* retrieveFormOverlay(const char* objid);
ImagePlus for OS/390 qyery syntax
The following example shows the query syntax for ImagePlus for OS/390.
SEARCH=(COND=(ip_search_expression),ENTITY={entity_name | mapped_entity_name} [,MAX_RESULTS=maximum_results]); [OPTION=([CONTENT={YES | ATTRONLY | NO};][PENDING={YES | NO};])]
The valid parameters are:
ip_search_criteria [[binary_operator ip_search_criteria] ... ]
Note: only the binary operator AND is supported
{attr_name | mapped_attr_name} operator literal
Note: for all other attributes, only equality (==) is supported
for numeric attributes, no quotes should be used, for example:
FolderType == 9
for date, time and timestamp attributes, no quotes are necessary, although double and single quotes are tolerated, for example:
ReceiveDate == 1999-03-08 ReceiveDate == '1999-03-08'
for string attributes, no quotes are necessary, although double and single quotes are tolerated. If the string contains a single quote, the string must be specified using 2 single quotes, for example for a value of Folder'1:
FolderId == 'Folder''1'
The option keywords are:
(c) Copyright International Business Machines Corporation 1996, 2003. IBM Corp. All rights reserved.