Virtual List View

Request that the server return a subset of the full search results. Unlike the PagedResultControl, this control allows for moving forward and backward in the result set. See LDAP Extensions for Scrolling View Browsing of Search Results.

Using the Virtual List View Client

Connection conn = DefaultConnectionFactory.getConnection("ldap://directory.ldaptive.org");
try {
  conn.open();
  VirtualListViewClient client = new VirtualListViewClient(
    conn, new SortKey[] {
      new SortKey("uid", "caseExactMatch"),
      new SortKey("givenName", "caseIgnoreMatch")});
  SearchRequest request = new SearchRequest("dc=ldaptive,dc=org","(givenName=d*)", "cn", "sn");
  Response<SearchResult> response = client.execute(request, new VirtualListViewParams(0, 0, 4)); // get the first 5 entries
  // examine the response and then execute another search
  response = client.execute(request, new VirtualListViewParams(5, 0, 4), response); // get the next 5 entries
} finally {
  conn.close();
}

Provider Support

JNDI JLDAP Apache LDAP UnboundID OpenDJ
Functionality exists in the provider API and has been confirmed
Functionality does not exist in the provider API
Functionality exists in the provider API, but did not work in our test environment
? Functionality exists in the provider API, but has not been integrated into the ldaptive provider