com.novell.service.nds
Class NdsIteratorControls

java.lang.Object
  |
  +--javax.naming.directory.SearchControls
        |
        +--com.novell.service.nds.NdsIteratorControls

public class NdsIteratorControls
extends javax.naming.directory.SearchControls
implements java.io.Serializable

Encapsulates factors that determine the scope of iterators and what gets returned as a result of the iterator. The sort index is an array of strings. The first string is the primary index, the second string is the secondary index, and so forth. The default sort indexes are BaseClass and Name.

An NdsIteratorControls instance is not synchronized against concurrent multithreaded access. Multiple threads trying to access and modify a single NdsIteratorControls instance should synchronize access to the object.

The serialized form of an NdsIteratorControls object consists of the sort indexes (an array of strings), and the serialized form of search controls.


Field Summary
static int DS_ITR_FORCE_EMULATION
          Specifies emulation mode even if a scalable server is available.
static int DS_ITR_PREFER_SCALABLE
          Specifies that a scalable server is preferred.
static int DS_ITR_REQUIRE_SCALABLE
          Specifies that a scalable server is required.
 
Fields inherited from class javax.naming.directory.SearchControls
OBJECT_SCOPE, ONELEVEL_SCOPE, SUBTREE_SCOPE
 
Constructor Summary
NdsIteratorControls()
          Constructs an NdsIteratorControls instance using the default sort index CN.
NdsIteratorControls(int scope, long maxCount, int timeout, java.lang.String[] attrs, boolean retobj, boolean deref, java.lang.String[] indexSelect, java.lang.String[] sortKey, int scalability)
          Constructs an NdsIteratorControls instance using 9 parameters.
 
Method Summary
 java.lang.String[] getIndexSelect()
          Returns the array of selected indexes for this NdsIteratorControls instance.
 int getScalability()
          Returns the scalability status for this NdsIteratorControls instance.
 java.lang.String[] getSortKey()
          Returns the sort key array of the NdsIteratorControls instance.
 void setIndexSelect(java.lang.String[] indexSelect)
          Sets the indexes for this NdsIteratorControls instance based on the passed in array of indexes.
 void setScalability(int scalability)
          Sets the scalability status for this NdsIteratorControls instance.
 void setSortKey(java.lang.String[] sortKey)
          Sets the sort key array of the NdsIteratorControls instance.
 
Methods inherited from class javax.naming.directory.SearchControls
getCountLimit, getDerefLinkFlag, getReturningAttributes, getReturningObjFlag, getSearchScope, getTimeLimit, setCountLimit, setDerefLinkFlag, setReturningAttributes, setReturningObjFlag, setSearchScope, setTimeLimit
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DS_ITR_PREFER_SCALABLE

public static final int DS_ITR_PREFER_SCALABLE
Specifies that a scalable server is preferred.

(DS_ITR_PREFER_SCALABLE = 0)


DS_ITR_REQUIRE_SCALABLE

public static final int DS_ITR_REQUIRE_SCALABLE
Specifies that a scalable server is required.

(DS_ITR_REQUIRE_SCALABLE = 1)


DS_ITR_FORCE_EMULATION

public static final int DS_ITR_FORCE_EMULATION
Specifies emulation mode even if a scalable server is available.

(DS_ITR_FORCE_EMULATION = 2)

Constructor Detail

NdsIteratorControls

public NdsIteratorControls()
Constructs an NdsIteratorControls instance using the default sort index CN. The indexSelect and sortKey are set to NULL, and scalability is set to preferred.

NdsIteratorControls

public NdsIteratorControls(int scope,
                           long maxCount,
                           int timeout,
                           java.lang.String[] attrs,
                           boolean retobj,
                           boolean deref,
                           java.lang.String[] indexSelect,
                           java.lang.String[] sortKey,
                           int scalability)
Constructs an NdsIteratorControls instance using 9 parameters.
Parameters:
scope - The scope of the search (SearchControls.OBJECT_SCOPE, SearchControls.ONELEVEL_SCOPE, SearchControls.SUBTREE_SCOPE).
maxCount - The maximum number of entries to return. If 0, return all entries that satisfy the filter.
timeout - The number of seconds to wait before returning. If 0, wait indefinitely.
attrs - The identifiers of the attributes to return along with the entry. If NULL, return all attributes. If empty, return no attributes.
retobj - A boolean set to TRUE if the object bound to the name of the entry is to be returned; otherwise, set to FALSE if no object is to be returned.
deref - A boolean set to TRUE if de-reference of links is to be done during the search; otherwise, set to FALSE.
indexSelect - An optional string selecting the index to be used in creating the iterator. If set to NULL or empty, the index is selected by the server based on the search filter. Applies only to NDS v8 iterators.
sortKey - List of attributes specifying the sort keys to use when sorting the objects. Up to three attributes may be specified. Applies only to non-NDS v8 iterators.
scalability - One of the following variable values: DS_ITR_REQUIRE_SCALABLE - Return error if unable to connect to a NDS v8 server. DS_ITR_PREFER_SCALABLE - First tries to connect to a NDS v8 server. If unable to do so, the iterator functionality will be emulated by the client libraries. DS_ITR_FORCE_EMULATION - Forces emulation mode even if a connection to a NDS v8 server is possible.
Method Detail

getSortKey

public java.lang.String[] getSortKey()
Returns the sort key array of the NdsIteratorControls instance.
Returns:
The sort key array of this NdsIteratorControls instance.

setSortKey

public void setSortKey(java.lang.String[] sortKey)
Sets the sort key array of the NdsIteratorControls instance.
Parameters:
sortKey - The sort key array of this NdsIteratorControls instance.

getIndexSelect

public java.lang.String[] getIndexSelect()
Returns the array of selected indexes for this NdsIteratorControls instance.
Returns:
The array of selected indexes.
See Also:
setIndexSelect(java.lang.String[])

setIndexSelect

public void setIndexSelect(java.lang.String[] indexSelect)
Sets the indexes for this NdsIteratorControls instance based on the passed in array of indexes.
Parameters:
indexSelect - The array of indexes to use in setting the NdsIteratorControls instance indexes.

getScalability

public int getScalability()
Returns the scalability status for this NdsIteratorControls instance.
Returns:
The scalability status as an int.
See Also:
setScalability(int)

setScalability

public void setScalability(int scalability)
Sets the scalability status for this NdsIteratorControls instance.

The scalability status is set to one of the following values:

Parameters:
scalability - The scalability status as an int.