Enterprise Information Portal APIs

com.ibm.mm.sdk.server
Class DKResultSetCursorDD

java.lang.Object
  |
  +--com.ibm.mm.sdk.server.dkAbstractResultSetCursor
        |
        +--com.ibm.mm.sdk.server.DKResultSetCursorDD
All Implemented Interfaces:
DKConstant, DKConstantDD, DKMessageId, DKMessageIdDD, dkResultSetCursor

public class DKResultSetCursorDD
extends dkAbstractResultSetCursor
implements DKConstantDD, DKMessageId, DKMessageIdDD

This class is a cursor on a result set (a DKResults). Domino.Doc does not stage the results of a query, so the entire result is returned at once.

Also, Domino.Doc, at this point (V2.1), does not support a query on a document collection, so this class does not support execution of a query on a result set.

See Also:
DKResults, DKDatastoreDD.execute(java.lang.String, short, com.ibm.mm.sdk.common.DKNVPair[])

Fields inherited from interface com.ibm.mm.sdk.common.DKConstantDD
copyright, DK_ACTYPE_DD, DK_DD_APPEND, DK_DD_ATTR, DK_DD_BINDER, DK_DD_BLOB, DK_DD_CABINET, DK_DD_CREATE, DK_DD_CREATE_DATE, DK_DD_DATASTORE_EXT, DK_DD_DEFAULT_MIMETYPE, DK_DD_DLL_NAME, DK_DD_DOC_TYPE, DK_DD_DOCUMENT, DK_DD_DS_API_NAME, DK_DD_DSTYPE, DK_DD_FIELD, DK_DD_FILENAME, DK_DD_KEYWORD, DK_DD_LIBRARY, DK_DD_OPT_CONTENT, DK_DD_OPT_CONTENT_ATTRONLY, DK_DD_OPT_CONTENT_NO, DK_DD_OPT_CONTENT_YES, DK_DD_OPT_LIMIT, DK_DD_OPT_NO_LIMIT, DK_DD_OPT_RUN_FINALIZE_ON_EXIT, DK_DD_OPT_RUN_FINALIZE_ON_EXIT_NO, DK_DD_OPT_RUN_FINALIZE_ON_EXIT_YES, DK_DD_OPT_SEARCH_OPTION, DK_DD_OPT_SEARCH_OPTION_STEMS, DK_DD_OPT_SEARCH_OPTION_THESAURUS, DK_DD_OPT_SORT_ORDER, DK_DD_OPT_SORT_ORDER_DATE_ASC, DK_DD_OPT_SORT_ORDER_DATE_DES, DK_DD_OPT_SORT_ORDER_SCORES, DK_DD_OVERWRITE, DK_DD_PID_DOC_EXT, DK_DD_PID_DOC_ID, DK_DD_PID_DOC_ID_CNT, DK_DD_PROFILE, DK_DD_ROOM, DK_DD_SERVER_TYPE, DK_DD_TITLE, DK_DD_UNKNOWN
 
Fields inherited from interface com.ibm.mm.sdk.common.DKConstant
    For details, see the class or interface
 
Fields inherited from interface com.ibm.mm.sdk.common.DKMessageId
    For details, see the class or interface
 
Fields inherited from interface com.ibm.mm.sdk.common.DKMessageIdDD
copyright, DK_DD_MSG_MSGID_DOMDOC, DK_DD_MSG_MSGID_GOVERNOR, DK_DD_MSG_MSGID_NO_ATTR_OBJ, DK_DD_MSG_MSGID_NO_BINDER_OBJ, DK_DD_MSG_MSGID_NO_CABINET_OBJ, DK_DD_MSG_MSGID_NO_DOCUMENT_OBJ, DK_DD_MSG_MSGID_NO_MESSAGE, DK_DD_MSG_MSGID_NO_ROOM_OBJ, DK_DD_MSG_MSGID_NO_SUCCESS, DK_DD_MSG_MSGID_NUL_PARAM
 
Method Summary
 void addObject(DKDDO newDDO)
          Adds a new element of the same type, represented by the given DDO, to the datastore.
 int cardinality()
          Gets the number of query results if supported.
 void close()
          Closes the cursor, and invalidates the result set.
 java.lang.String datastoreName()
          Gets the datastore name
 java.lang.String datastoreType()
          Gets the datastore type
 void deleteObject()
          Deletes a DDO object at current position from result set from server.
 void destroy()
          Destroys the resultSetCursor.
 DKDDO fetchNext()
          Retrieves the next object in the result set
 java.lang.Object fetchNextByName(java.lang.String dataItemName)
          Get a data item contained within the DDO at the next position in the result.
 boolean fetchNextN(int how_many, dkCollection collection)
          Retrieves the next N objects in the result set
 boolean fetchNextNByName(java.lang.String dataItemName, int how_many, java.lang.Object[] array)
          For the next DDO's in the result, fetch the Value for a data Item named and add it to .
 DKDDO fetchObject()
          Retrieves an object at the current postion in the result set Does not change cursor position.
 DKDDO findObject(int position, java.lang.String predicate)
          Retrieves a DDO object from result set at given start location
 int getPosition()
          Gets the current position of the cursor within the result list
 boolean isBegin()
          Checks to see if the cursor at the beginning of the search result set cursor.
 boolean isEnd()
          Checks if the cursor is currently at the end of result
 boolean isInBetween()
          Checks if the cursor at the middle of result list
 boolean isOpen()
          Checks if the cursor is opened.
 boolean isScrollable()
          Checks if the search result is scrollable
 boolean isValid()
          Checks to see if the content of this search result set cursor is valid.
 DKDDO newObject()
          Creates a new DDO object.
 void open()
          Opens the cursor, and if necessary, execute the query to get the result set.
 void open(DKNVPair[] parms)
          Opens the cursor, and if necessary, execute the query to get the result set.
 void setPosition(int position, java.lang.Object value)
          Sets the value of cursor to the given position value
 void setToNext()
          Sets the cursor to the next position
 java.lang.String toString()
          Returns a string suitable for debugging purposes.
 void updateObject(DKDDO ddo)
          Updates element at the current position in the datastore, using the given DDO.
 
Methods inherited from class com.ibm.mm.sdk.server.dkAbstractResultSetCursor
fetchObjectByName, handle, handle, isUpdatable, objectType
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

isScrollable

public boolean isScrollable()
                     throws DKException,
                            java.lang.Exception
Checks if the search result is scrollable
Overrides:
isScrollable in class dkAbstractResultSetCursor
Returns:
true is scrollable, false otherwise
Throws:
DKDatastoreError - if there is no connection to server.
DKUsageError - if the result set cursor is invalid

isValid

public boolean isValid()
                throws DKException,
                       java.lang.Exception
Checks to see if the content of this search result set cursor is valid.
Overrides:
isValid in class dkAbstractResultSetCursor
Returns:
true if content is valid, false otherwise

isBegin

public boolean isBegin()
                throws DKException,
                       java.lang.Exception
Checks to see if the cursor at the beginning of the search result set cursor.
Overrides:
isBegin in class dkAbstractResultSetCursor
Returns:
true if the cursor is at the beginning of the result list, false otherwise.
Throws:
DKDatastoreError - if there is no connection to server.
DKUsageError - if the result set cursor is invalid

isEnd

public boolean isEnd()
              throws DKException,
                     java.lang.Exception
Checks if the cursor is currently at the end of result
Overrides:
isEnd in class dkAbstractResultSetCursor
Returns:
true if the cursor is at the end, false otherwise
Throws:
DKDatastoreError - if there is no connection to server.
DKUsageError - if the result set cursor is invalid

isInBetween

public boolean isInBetween()
                    throws DKException,
                           java.lang.Exception
Checks if the cursor at the middle of result list
Overrides:
isInBetween in class dkAbstractResultSetCursor
Returns:
true if it is at the middle, false otherwise
Throws:
DKDatastoreError - if there is no connection to server.
DKUsageError - if the result set cursor is invalid

getPosition

public int getPosition()
                throws DKException,
                       java.lang.Exception
Gets the current position of the cursor within the result list
Overrides:
getPosition in class dkAbstractResultSetCursor
Returns:
a zero-based position value of the cursor
Throws:
DKDatastoreError - if there is no connection to server.
DKUsageError - if the result set cursor is invalid

setPosition

public void setPosition(int position,
                        java.lang.Object value)
                 throws DKException,
                        java.lang.Exception
Sets the value of cursor to the given position value
Overrides:
setPosition in class dkAbstractResultSetCursor
Parameters:
position - either DK_CM_NEXT or DK_CM_RELATIVE.
value - Integer object represents the relative position from current cursor position.
Throws:
DKDatastoreError - if there is no connection to server.
DKUsageError - if cursor is invalid, new position is invalid, or "value" is not Integer object

setToNext

public void setToNext()
               throws DKException,
                      java.lang.Exception
Sets the cursor to the next position
Overrides:
setToNext in class dkAbstractResultSetCursor
Throws:
DKUsageError - if current cursor position is invalid or the next cursor position is invalid

fetchObject

public DKDDO fetchObject()
                  throws DKException,
                         java.lang.Exception
Retrieves an object at the current postion in the result set Does not change cursor position.
Overrides:
fetchObject in class dkAbstractResultSetCursor
Returns:
a DDO
Throws:
DKUsageError - if the result set cursor is invalid

fetchNext

public DKDDO fetchNext()
                throws DKException,
                       java.lang.Exception
Retrieves the next object in the result set
Overrides:
fetchNext in class dkAbstractResultSetCursor
Returns:
a next DDO object
Throws:
DKUsageError - if the result set cursor is invalid

fetchNextN

public boolean fetchNextN(int how_many,
                          dkCollection collection)
                   throws DKException,
                          java.lang.Exception
Retrieves the next N objects in the result set
Overrides:
fetchNextN in class dkAbstractResultSetCursor
Parameters:
how_many - number of next objects to retrieve
collection - a container to receive these N objects
Returns:
true if there are objects in the given collection
Throws:
DKUsageError - if the result set cursor is invalid

fetchNextByName

public java.lang.Object fetchNextByName(java.lang.String dataItemName)
                                 throws DKException,
                                        java.lang.Exception
Get a data item contained within the DDO at the next position in the result.

The cursor is moved to the next object in the result and the data item is retrieved.

Overrides:
fetchNextByName in class dkAbstractResultSetCursor
Parameters:
dataItemName - data item name
Returns:
Object is the value of the named data item. The object type depends on the data type of the item (String, number, date, etc.)
Throws:
DKException - Trying to go past the end of the result will cause an excpetion to be thrown, or trying to call this method when the result is not valid will cause an exception to be thrown.

fetchNextNByName

public boolean fetchNextNByName(java.lang.String dataItemName,
                                int how_many,
                                java.lang.Object[] array)
                         throws DKException,
                                java.lang.Exception
For the next DDO's in the result, fetch the Value for a data Item named and add it to .
Overrides:
fetchNextNByName in class dkAbstractResultSetCursor
Parameters:
dataItemName - data item name
how_many - how many data item values the user wants to be returned in the collection.
array - the array where the data item values that are fetched are stored.
Returns:
true if there is at least one data item value returned.

findObject

public DKDDO findObject(int position,
                        java.lang.String predicate)
                 throws DKException,
                        java.lang.Exception
Retrieves a DDO object from result set at given start location
Overrides:
findObject in class dkAbstractResultSetCursor
Parameters:
position - start location where to retrieve the DDO object from
predicate - search condition
Returns:
a DDO object
Throws:
DKDatastoreError - if there is no connection to server
DKUsageError - if the result is not valid, "predicate" condition or postion is not valid.

deleteObject

public void deleteObject()
                  throws DKException
Deletes a DDO object at current position from result set from server.
Overrides:
deleteObject in class dkAbstractResultSetCursor
Throws:
DKDatastoreError - if there is no connection to server
DKUsageError - if one of the following conditions occurred:
  • result set is invalid
  • result set is not updatable
  • DDO object at the current position is null

updateObject

public void updateObject(DKDDO ddo)
                  throws DKException
Updates element at the current position in the datastore, using the given DDO. The type of cursor element must match with the type of DDO. Only the annotation and views of this document is updated, document data will not be updated since since function is not support by server.
Overrides:
updateObject in class dkAbstractResultSetCursor
Parameters:
ddo - a new data object to use to update the current cursor object from server.
Throws:
DKDatastoreError - if there is no connection to server.
DKUsageError - if cursor is invalid, or is not updatable, or the given "ddo" is null.

newObject

public DKDDO newObject()
                throws DKException
Creates a new DDO object.
Overrides:
newObject in class dkAbstractResultSetCursor
Returns:
an DDO object
Throws:
DKDatastoreError - if there is no connection to server.

addObject

public void addObject(DKDDO newDDO)
               throws DKException
Adds a new element of the same type, represented by the given DDO, to the datastore.
Overrides:
addObject in class dkAbstractResultSetCursor
Parameters:
newDDO - a new data object to add to server.
Throws:
DKDatastoreError - if there is no connection to server.
DKUsageError - if cursor is invalid, or is not updatable, or the given "newDDO" is null.

isOpen

public boolean isOpen()
               throws DKException,
                      java.lang.Exception
Checks if the cursor is opened.
Overrides:
isOpen in class dkAbstractResultSetCursor
Returns:
true if opened, false otherwise
Throws:
DKDatastoreError - if there is no connection to server

open

public void open()
          throws DKException,
                 java.lang.Exception
Opens the cursor, and if necessary, execute the query to get the result set. Open resets the position to the beginning. This method should only be called when query string is set.
Overrides:
open in class dkAbstractResultSetCursor
Throws:
DKUsageError - if the cursor is already opened or the query string is invalid.
DKDatastoreError - if there is no connection to the server
DKDatastoreAccessError - if error occurs inside datastore

open

public void open(DKNVPair[] parms)
          throws DKException,
                 java.lang.Exception
Opens the cursor, and if necessary, execute the query to get the result set. Open reset the position to the beginning.
Overrides:
open in class dkAbstractResultSetCursor
Parameters:
parms - name/value pairs options
Throws:
DKDatastoreError - if there is no connection to server.
DKUsageError - if the result set cursor is invalid

datastoreName

public java.lang.String datastoreName()
                               throws DKException,
                                      java.lang.Exception
Description copied from interface: dkResultSetCursor
Gets the datastore name
Overrides:
datastoreName in class dkAbstractResultSetCursor
Following copied from interface: com.ibm.mm.sdk.common.dkResultSetCursor
Returns:
datastore name

datastoreType

public java.lang.String datastoreType()
                               throws DKException,
                                      java.lang.Exception
Description copied from interface: dkResultSetCursor
Gets the datastore type
Overrides:
datastoreType in class dkAbstractResultSetCursor
Following copied from interface: com.ibm.mm.sdk.common.dkResultSetCursor
Returns:
datastore type

cardinality

public int cardinality()
                throws java.lang.Exception
Description copied from interface: dkResultSetCursor
Gets the number of query results if supported. This number may be an approximation for some back end datastores.

Note:DKUsageError exception thrown if method is not implemented

Overrides:
cardinality in class dkAbstractResultSetCursor
Following copied from interface: com.ibm.mm.sdk.common.dkResultSetCursor
Returns:
number of query results. May be approximation.

close

public void close()
           throws DKException
Closes the cursor, and invalidates the result set.
Overrides:
close in class dkAbstractResultSetCursor

destroy

public void destroy()
             throws DKException
Destroys the resultSetCursor. This method will do all neccessary cleanup before the resultSetCursor is deleted.
Overrides:
destroy in class dkAbstractResultSetCursor
Throws:
DKDatastoreError - if there is no connection to server

toString

public java.lang.String toString()
Returns a string suitable for debugging purposes.
Overrides:
toString in class java.lang.Object

EIP Java APIs

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