Spring LDAP

Class PagedResultsDirContextProcessor

  extended by org.springframework.ldap.control.AbstractRequestControlDirContextProcessor
      extended by org.springframework.ldap.control.AbstractFallbackRequestAndResponseControlDirContextProcessor
          extended by org.springframework.ldap.control.PagedResultsDirContextProcessor
All Implemented Interfaces:

public class PagedResultsDirContextProcessor
extends AbstractFallbackRequestAndResponseControlDirContextProcessor

DirContextProcessor implementation for managing the paged results control. Note that due to the internal workings of LdapTemplate, the target connection is closed after each LDAP call. The PagedResults control require the same connection be used for each call, which means we need to make sure the target connection is never actually closed. There's basically two ways of making this happen: use the SingleContextSource implementation or make sure all calls happen within a single LDAP transaction (using ContextSourceTransactionManager).

Mattias Hellborg Arthursson, Ulrik Sandberg

Field Summary
Fields inherited from class org.springframework.ldap.control.AbstractFallbackRequestAndResponseControlDirContextProcessor
critical, defaultRequestControl, defaultResponseControl, fallbackRequestControl, fallbackResponseControl, requestControlClass, responseControlClass
Fields inherited from class org.springframework.ldap.control.AbstractRequestControlDirContextProcessor
Constructor Summary
PagedResultsDirContextProcessor(int pageSize)
          Constructs a new instance.
PagedResultsDirContextProcessor(int pageSize, PagedResultsCookie cookie)
          Constructs a new instance with the supplied page size and cookie.
Method Summary
 Control createRequestControl()
          Create an instance of the appropriate RequestControl.
 PagedResultsCookie getCookie()
          Get the cookie.
 int getPageSize()
          Get the page size.
 int getResultSize()
          Get the total estimated number of entries that matches the issued search.
protected  void handleResponse(Object control)
 boolean hasMore()
          Check whether there are more results to retrieved.
Methods inherited from class org.springframework.ldap.control.AbstractFallbackRequestAndResponseControlDirContextProcessor
createRequestControl, invokeMethod, loadControlClasses, postProcess, setCritical, setRequestControlClass, setResponseControlClass
Methods inherited from class org.springframework.ldap.control.AbstractRequestControlDirContextProcessor
isReplaceSameControlEnabled, preProcess, setReplaceSameControlEnabled
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public PagedResultsDirContextProcessor(int pageSize)
Constructs a new instance. This constructor should be used when performing the first paged search operation, when no other results have been retrieved.

pageSize - the page size.


public PagedResultsDirContextProcessor(int pageSize,
                                       PagedResultsCookie cookie)
Constructs a new instance with the supplied page size and cookie. The cookie must be the exact same instance as received from a previous paged results search, or null if it is the first in an operation sequence.

pageSize - the page size.
cookie - the cookie, as received from a previous search.
Method Detail


public PagedResultsCookie getCookie()
Get the cookie.

the cookie. The cookie will always be set after at leas one query, however the actual cookie content can be null, indicating that there are no more results, in which case hasMore() will return false.
See Also:


public int getPageSize()
Get the page size.

the page size.


public int getResultSize()
Get the total estimated number of entries that matches the issued search. Note that this value is optional for the LDAP server to return, so it does not always contain any valid data.

the estimated result size, if returned from the server.


public Control createRequestControl()
Description copied from class: AbstractRequestControlDirContextProcessor
Create an instance of the appropriate RequestControl.

Specified by:
createRequestControl in class AbstractRequestControlDirContextProcessor
the new instance.


public boolean hasMore()
Check whether there are more results to retrieved. When there are no more results to retrieve, this is indicated by a null cookie being returned from the server. When this happen, the internal status will set to false.

true if there are more results to retrieve, false otherwise.


protected void handleResponse(Object control)
Specified by:
handleResponse in class AbstractFallbackRequestAndResponseControlDirContextProcessor

Spring LDAP