Enterprise Information Portal APIs

com.ibm.mm.sdk.server
Class DKResultSetCursorIP

java.lang.Object
  |
  +--com.ibm.mm.sdk.server.dkAbstractResultSetCursor
        |
        +--com.ibm.mm.sdk.server.DKResultSetCursorIP
All Implemented Interfaces:
DKConstant, DKConstantIP, DKMessageId, DKMessageIdIP, dkResultSetCursor, java.io.Serializable

public class DKResultSetCursorIP
extends dkAbstractResultSetCursor
implements DKConstantIP, DKMessageIdIP, java.io.Serializable

This class is a datastore cursor which manages a virtual collection of objects. The collection is a result set of a query submitted to the datastore.

See Also:
dkResultSetCursor, Serialized Form

Field Summary
 java.lang.String _storeSite
           
 
Fields inherited from interface com.ibm.mm.sdk.common.DKConstantIP
    For details, see the class or interface
 
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.DKMessageIdIP
copyright, DK_IP_MSG_API_PROTOCOL_ERROR, DK_IP_MSG_CLIENT_API_NOT_OK, DK_IP_MSG_DATASTORE_READONLY, DK_IP_MSG_DOCIDNOTSET, DK_IP_MSG_FAF_ERROR, DK_IP_MSG_FAF_INTERNAL_ERROR, DK_IP_MSG_FAF_NOT_OK, DK_IP_MSG_FAF_WARNING, DK_IP_MSG_FOLDER_NOT_EMPTY, DK_IP_MSG_HOST_TIMEOUT, DK_IP_MSG_INVALID_CONN_OPTION, DK_IP_MSG_INVALID_DOCTYPE, DK_IP_MSG_INVALID_IODM_RC, DK_IP_MSG_INVALID_PARM, DK_IP_MSG_IODM_FAILURE, DK_IP_MSG_IODM_NOT_AVAILABLE, DK_IP_MSG_LOCKEDBYANOTHER, DK_IP_MSG_MISSING_CONN_OPTION, DK_IP_MSG_MSGID_NOT_FOUND, DK_IP_MSG_PROTOCOL_ERROR
 
Fields inherited from interface com.ibm.mm.sdk.common.DKMessageId
    For details, see the class or interface
 
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 cursorName()
          Get the cursor name
 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.
 void destroyByDS()
          This method will be called from datastore before it go away.
 DKDDO fetchNext()
          Retrieves the next object in the result set
 java.lang.Object fetchNextByName(java.lang.String dataItemName)
          Sets cursor to point to the position of the next data object and fetches the data item value in the cursor at that position by data item name.
 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)
          Fetches the next N data item values of the cursor and inserts them into the given array
 DKDDO fetchObject()
          Retrieves an object at the current postion in the result set
 java.lang.Object fetchObjectByName(java.lang.String dataItemName)
          Fetches the data item value in the cursor at the current position by data item name.
 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
 DKHandle handle(int type)
          Deprecated. Replace by handle(String type)
 DKHandle handle(java.lang.String type)
          Gets a cursor handle
 boolean isBegin()
          Checks to see if the cursor at the beginning of the search result set cursor.
 boolean isConnected()
          Checks to see if there is connection to server
 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 isUpdatable()
          Checks if the search result set cursor is updatable
 boolean isValid()
          Checks to see if the content of this search result set cursor is valid.
 DKDDO newObject()
          Creates a new DDO object.
 java.lang.String objectType()
          Gets the cursor object type
 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
 void updateObject(DKDDO ddo)
          Updates element at the current position in the datastore, using the given DDO.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_storeSite

public java.lang.String _storeSite
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 if scrollable, false otherwise
Throws:
DKDatastoreError - if there is no connection to server.
DKUsageError - if the result set cursor is invalid

isUpdatable

public boolean isUpdatable()
                    throws DKException,
                           java.lang.Exception
Checks if the search result set cursor is updatable
Overrides:
isUpdatable in class dkAbstractResultSetCursor
Returns:
true if it is updatable, 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

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

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:
DKDatastoreError - if there is no connection to server.
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
Overrides:
fetchObject in class dkAbstractResultSetCursor
Returns:
an IP/390 DDO object
Throws:
DKDatastoreError - if there is no connection to server.
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:
DKDatastoreError - if there is no connection to server.
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. If 0, then all remaining objects will be retrieved.
collection - a container to receive these N objects
Returns:
true if there are objects in the given collection
Throws:
DKDatastoreError - if there is no connection to Server.
DKUsageError - if the result set cursor is invalid

fetchObjectByName

public java.lang.Object fetchObjectByName(java.lang.String dataItemName)
                                   throws DKException,
                                          java.lang.Exception
Fetches the data item value in the cursor at the current position by data item name.
Overrides:
fetchObjectByName in class dkAbstractResultSetCursor
Parameters:
dataItemName - data item name
Returns:
Object

fetchNextByName

public java.lang.Object fetchNextByName(java.lang.String dataItemName)
                                 throws DKException,
                                        java.lang.Exception
Sets cursor to point to the position of the next data object and fetches the data item value in the cursor at that position by data item name.
Overrides:
fetchNextByName in class dkAbstractResultSetCursor
Parameters:
dataItemName - data item name
Returns:
Object

fetchNextNByName

public boolean fetchNextNByName(java.lang.String dataItemName,
                                int how_many,
                                java.lang.Object[] array)
                         throws DKException,
                                java.lang.Exception
Fetches the next N data item values of the cursor and inserts them into the given array
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
position - only DK_CM_NEXT is supported.
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,
                         java.lang.Exception
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,
                         java.lang.Exception
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,
                       java.lang.Exception
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,
                      java.lang.Exception
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.

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

close

public void close()
           throws DKException,
                  java.lang.Exception
Closes the cursor, and invalidates the result set.
Overrides:
close in class dkAbstractResultSetCursor
Throws:
DKUsageError - if the cursor is not openned.
DKDatastoreError - if there is no connection to server

destroy

public void destroy()
             throws DKException,
                    java.lang.Exception
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

destroyByDS

public void destroyByDS()
                 throws DKException,
                        java.lang.Exception
This method will be called from datastore before it go away. We need to close the cursor if it is openned.
Throws:
DKException -  

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

isConnected

public boolean isConnected()
                    throws java.lang.Exception
Checks to see if there is connection to server
Returns:
true if there is connection, false otherwise

cursorName

public java.lang.String cursorName()
                            throws java.lang.Exception
Get the cursor name
Returns:
name of the cursor

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

handle

public DKHandle handle(int type)
                throws java.lang.Exception
Deprecated. Replace by handle(String type)

Gets a cursor handle
Overrides:
handle in class dkAbstractResultSetCursor
Parameters:
type - type of cursor handle wanted
Returns:
a cursor handle
See Also:
handle(java.lang.String)

handle

public DKHandle handle(java.lang.String type)
                throws java.lang.Exception
Gets a cursor handle
Overrides:
handle in class dkAbstractResultSetCursor
Parameters:
type - type of cursor handle wanted
Returns:
a cursor handle

cardinality

public int cardinality()
                throws DKException,
                       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.

objectType

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

EIP Java APIs

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