org.apache.directory.shared.ldap.codec.search.controls.pagedSearch
Class PagedSearchControlCodec

java.lang.Object
  extended by org.apache.directory.shared.asn1.AbstractAsn1Object
      extended by org.apache.directory.shared.ldap.codec.search.controls.pagedSearch.PagedSearchControlCodec
All Implemented Interfaces:
Asn1Object

public class PagedSearchControlCodec
extends AbstractAsn1Object

A request/response control used to implement a simple paging of search results. This is an implementation of RFC 2696 : LDAP Control Extension for Simple Paged Results Manipulation

    This control is included in the searchRequest and searchResultDone
    messages as part of the controls field of the LDAPMessage, as defined
    in Section 4.1.12 of [LDAPv3]. The structure of this control is as
    follows:

 pagedResultsControl ::= SEQUENCE {
         controlType     1.2.840.113556.1.4.319,
         criticality     BOOLEAN DEFAULT FALSE,
         controlValue    searchControlValue
 }
 
 The searchControlValue is an OCTET STRING wrapping the BER-encoded
 version of the following SEQUENCE:
 
 realSearchControlValue ::= SEQUENCE {
         size            INTEGER (0..maxInt),
                                 -- requested page size from client
                                 -- result set size estimate from server
         cookie          OCTET STRING
 }
 
 

Version:
$Rev: $
Author:
Apache Directory Project

Field Summary
 
Fields inherited from class org.apache.directory.shared.asn1.AbstractAsn1Object
parent
 
Constructor Summary
PagedSearchControlCodec()
           
 
Method Summary
 int computeLength()
          Compute the PagedSearchControl length 0x30 L1 | +--> 0x02 0x0(1-4) [0..2^63-1] (size) +--> 0x04 L2 (cookie)
 java.nio.ByteBuffer encode(java.nio.ByteBuffer buffer)
          Encodes the paged search control.
 byte[] getCookie()
           
 int getSize()
           
 void setCookie(byte[] cookie)
          Set the cookie
 void setSize(int size)
          Set the number of entry requested or returned
 java.lang.String toString()
          Return a String representing this PagedSearchControl.
 
Methods inherited from class org.apache.directory.shared.asn1.AbstractAsn1Object
addLength, getCurrentLength, getExpectedLength, getParent, getTlvId, setCurrentLength, setExpectedLength, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PagedSearchControlCodec

public PagedSearchControlCodec()
See Also:
Asn1Object#Asn1Object
Method Detail

computeLength

public int computeLength()
Compute the PagedSearchControl length 0x30 L1 | +--> 0x02 0x0(1-4) [0..2^63-1] (size) +--> 0x04 L2 (cookie)

Specified by:
computeLength in interface Asn1Object
Specified by:
computeLength in class AbstractAsn1Object

encode

public java.nio.ByteBuffer encode(java.nio.ByteBuffer buffer)
                           throws EncoderException
Encodes the paged search control.

Specified by:
encode in interface Asn1Object
Overrides:
encode in class AbstractAsn1Object
Parameters:
buffer - The encoded sink
Returns:
A ByteBuffer that contains the encoded PDU
Throws:
EncoderException - If anything goes wrong.

toString

public java.lang.String toString()
Return a String representing this PagedSearchControl.

Overrides:
toString in class java.lang.Object

getSize

public int getSize()
Returns:
The requested or returned number of entries

setSize

public void setSize(int size)
Set the number of entry requested or returned

Parameters:
size - The number of entries

getCookie

public byte[] getCookie()
Returns:
The stored cookie

setCookie

public void setCookie(byte[] cookie)
Set the cookie

Parameters:
cookie - The cookie to store in this control


Copyright © 2004-2009 The Apache Software Foundation. All Rights Reserved.