Purpose:
This is the class that is used to represent an XDO for IP. A BLOB (XDO) represents the base or annotation part of an Image Plus for OS/390 document.
Methods:
init(LPDISPATCH datastore);
If this method is used it must be called following the creation of a DXBlobIP object (except for methods returning a DXBlobIP object). Initialize xdo with the datastore from IP. The input parameter LPDISPATCH pointer contains a DXDatastoreIP object.
add([VARIANT fileName]);
Adds this object, identified by its PID, to the datastore. The object is added to ImagePlus for OS/390 as an object distribution manager (ODM) document or annotation. The optional parameter is in the form of a String. If no file name is specified, then the content of this object will be added to the persistent store. If a file name is specified, then the content of the file will be added to the persistent store. The filename could be a full path name. With a very large file, this operation is more efficient than calling setContentFromClientFile, followed by add; this will serve to help avoid out-of-memory problems.
addExtension(LPDISPATCH extensionObj);
Add the extension object for this object. The valid extension object names are the same as for setting the extension object, setExtension. The input parameter LPDISPATCH pointer contains a DXStorageManageInfoIP object.
LPDISPATCH datastore();
Gets the datastore. The returned LPDISPATCH pointer contains a DXDatastoreIP object.
del([VARIANT flushFlag]);
Deletes the persistent data of this object, identified by its PID, from the datastore. The optional parameter is in the form of BOOL. If flushFlag is true, it will clear the content (in memory), otherwise the current content will be preserved. The default is to clear the current content.
ImagePlus for OS/390 only supports the deletion of ODM annotations, not ODM documents. Before the annotation can be deleted, the following steps must take place:
This method updates the ODM annotation associated with the locked document (DDO). At this time, deleting the entire annotation object from ODM has limitations. The annotations object is actually set to a null-terminated string of length 1.
Note: The locked document (DDO) will be unlocked upon return, so the DXDatastoreIP.checkIn method need not be called after the update.
long getAffiliatedType();
Gets the affiliated type. For ImagePlus for OS/390, the possible affiliated types are:
BSTR getContent();
long getContentClass();
getContentToClientFile(LPCTSTR filename, long fileOption);
Copies the lob data content of this object to the named file.
BSTR getCreatedTimestamp();
Gets the data and time that the ODM base document was created.
LPDISPATCH getDDO();
Gets the document (DDO) associated with the ODM annotation. The returned LPDISPATCH pointer contains a DXDDOIP object.
BSTR getDescription();
BSTR getDocId();
LPDISPATCH getExtension(LPCTSTR extensionName);
Gets the extension object for this object. The returned LPDISPATCH pointer contains a DXStorageManageInfoIP object. Valid extension names are:
BSTR getMimeType();
Gets the MIME type representing this object's content class.
BSTR getOpenHandler();
Gets the executable handler program name for this object instance. If no setInstanceOpenHandler call has been made for this object instance, then the class open handler will be returned. Otherwise, the instance open handler will be returned.
long getPageCount();
Gets the number of pages in the ODM document or annotation represented by this object.
long getPartId();
LPDISPATCH getPidObject();
Gets the PID object. The returned LPDISPATCH pointer contains a DXPidXDOIP object.
long getSize();
Gets the size of the object content from the datastore. It will not retrieve the object content from the datastore.
BSTR getUpdatedTimestamp();
Gets the data and time that the ODM document was last updated.
BOOL isContentChanged();
BOOL isNull();
BOOL isOpenSynchronous();
Returns true if the open handler methods were called with true for the synchronous flag.
BOOL isSet();
long length();
open([VARIANT fileName]);
If no file name is specified, then the content of the object will be unloaded to a client file with a system generated name and then the appropriate instance or class handler will be invoked against the file. If a file name is specified, then the content of the object will be unloaded to the file specified and the appropriate instance or class handler invoked against the file.
removeExtension(LPDISPATCH extensionObj);
Remove the extension object from this object. The input parameter LPDISPATCH pointer contains a DXStorageManageInfoIP object.
retrieve([VARIANT fileName]);
Retrieves the persistent data of this object from the datastore. The optional parameter is in the form of a String. If no file name specified, then this object content identified by its PID, will be retrieved from the datastore to the memory buffer of this object. If a file name is specified, then the content of this object will be retrieved from the datastore to the specified file, which can be an absolute pathname. For a very large object, this will serve to help avoid out-of-memory problems.
setAffiliatedType(long affiliatedType);
Sets the affiliated type of the object. For ImagePlus for OS/390, the possible affiliated types are:
setClassOpenHandler(LPCTSTR aHandler, BOOL newSynchronousFlag);
Sets the executable handler program name, and whether this handler should be invoked synchronously or asynchronously for the class.
setContent(LPCTSTR content);
setContentClass(long aContentClass);
setContentFromClientFile(LPCTSTR filename);
Sets the content lob data from the contents of the given file.
setDDO(LPDISPATCH ddo);
Sets the locked document (DDO) associated with the ODM annotation. The DDO must be locked before making the method call. The input parameter LPDISPATCH pointer contains a DXDDOIP object. The associated DDO is used by the following methods:
setDescription(LPCTSTR name);
Sets the description field for an ODM annotation. This is an optional parameter, and is recognized for the following actions:
setDocId(LPCTSTR itemId);
Sets the document identifier, which is the FAF document ID. For ImagePlus for OS/390, the document ID is required for:
setExtension(LPDISPATCH extensionObj);
Sets the extension object for this object. The input parameter LPDISPATCH pointer contains a DXStorageManageInfoIP object. Valid extension object names are:
Code example:
Dim dsIP As New DXDatastoreIP Dim xdo As New DXBlobIP xdo.init dsIP xdo.setDocId "GAWCVGGVFUG428UJ" //------- set DXStorageManageInfoIP ------- Dim aSMS As New DXStorageManageInfoIP aSMS.setCollectionName "IMG.CLLCT003.P20" xdo.setExtension aSMS xdo.setContentClass DX_IP_CC_MODCA_IS2 xdo.add
setInstanceOpenHandler(LPCTSTR aHandler, BOOL newSynchronousFlag);
Sets the executable handler program name, and whether this handler should be invoked synchronously or asynchronously for this object instance.
setNull();
setPageCount(long pageCount);
Sets the page count of the object distribution manager (ODM), represented by this binary large object (BLOB). The pageCount value must be greater than 0.
setPartId(long partId);
setPidObject(LPDISPATCH pidXDO);
Sets the PID object. The input parameter LPDISPATCH pointer contains a DXPidXDOIP object.
update([VARIANT fileName]);
Updates the persistent data of this object to the datastore. The optional parameter is in the form of a String. If no file name is specified, the object content in the datastore will be replaced with the content (in memory) of this object. If a file name is specified, then the object content in the datastore will be replaced with the content of the given file. ImagePlus for OS/390 only supports the updating of ODM annotations, not ODM documents. Before the annotation can be updated, the following steps must take place:
This method updates the ODM annotation associated with the locked document (DDO). Note: The locked document (DDO) will be unlocked upon return, so the DXDatastoreIP.checkIn method need not be called after the update.
(c) Copyright International Business Machines Corporation 1996, 2002. IBM Corp. All rights reserved.