Class VirtualListViewRequestControl

  • All Implemented Interfaces:
    Control, RequestControl

    public class VirtualListViewRequestControl
    extends AbstractControl
    implements RequestControl
    Request control for virtual list view. See http://tools.ietf.org/html/draft-ietf-ldapext-ldapv3-vlv-09. Control is defined as:
       VirtualListViewRequest ::= SEQUENCE {
          beforeCount    INTEGER (0..maxInt),
          afterCount     INTEGER (0..maxInt),
          target         CHOICE {
             byOffset           [0] SEQUENCE {
                offset             INTEGER (1 .. maxInt),
                contentCount       INTEGER (0 .. maxInt) },
             greaterThanOrEqual [1] AssertionValue },
          contextID      OCTET STRING OPTIONAL }
     
    • Field Detail

      • HASH_CODE_SEED

        private static final int HASH_CODE_SEED
        hash code seed.
        See Also:
        Constant Field Values
      • beforeCount

        private int beforeCount
        number of entries before the target entry the server should send.
      • afterCount

        private int afterCount
        number of entries after the target entry the server should send.
      • targetOffset

        private int targetOffset
        target entry's offset within the ordered search result set.
      • contentCount

        private int contentCount
        server's estimate of the current number of entries in the ordered search result set.
      • assertionValue

        private String assertionValue
        value to match against the ordering matching rule for the attributeDescription in the sort control.
      • contextID

        private byte[] contextID
        value that clients should send back to the server to indicate that the server is willing to return contiguous data from a subsequent search request which uses the same search criteria.
    • Constructor Detail

      • VirtualListViewRequestControl

        public VirtualListViewRequestControl()
        Default constructor.
      • VirtualListViewRequestControl

        public VirtualListViewRequestControl​(int offset,
                                             int before,
                                             int after)
        Creates a new virtual list view request control.
        Parameters:
        offset - target entry offset
        before - number of entries before the target
        after - number of entries after the target
      • VirtualListViewRequestControl

        public VirtualListViewRequestControl​(int offset,
                                             int before,
                                             int after,
                                             boolean critical)
        Creates a new virtual list view request control.
        Parameters:
        offset - target entry offset
        before - number of entries before the target
        after - number of entries after the target
        critical - whether this control is critical
      • VirtualListViewRequestControl

        public VirtualListViewRequestControl​(int offset,
                                             int before,
                                             int after,
                                             byte[] context,
                                             boolean critical)
        Creates a new virtual list view request control.
        Parameters:
        offset - target entry offset
        before - number of entries before the target
        after - number of entries after the target
        context - server context id
        critical - whether this control is critical
      • VirtualListViewRequestControl

        public VirtualListViewRequestControl​(int offset,
                                             int before,
                                             int after,
                                             int count,
                                             byte[] context)
        Creates a new virtual list view request control.
        Parameters:
        offset - target entry offset
        before - number of entries before the target
        after - number of entries after the target
        count - server estimate of the number of entries
        context - server context id
      • VirtualListViewRequestControl

        public VirtualListViewRequestControl​(int offset,
                                             int before,
                                             int after,
                                             int count,
                                             byte[] context,
                                             boolean critical)
        Creates a new virtual list view request control.
        Parameters:
        offset - target entry offset
        before - number of entries before the target
        after - number of entries after the target
        count - server estimate of the number of entries
        context - server context id
        critical - whether this control is critical
      • VirtualListViewRequestControl

        public VirtualListViewRequestControl​(String assertion,
                                             int before,
                                             int after)
        Creates a new virtual list view request control.
        Parameters:
        assertion - value to match in the sort control
        before - number of entries before the target
        after - number of entries after the target
      • VirtualListViewRequestControl

        public VirtualListViewRequestControl​(String assertion,
                                             int before,
                                             int after,
                                             boolean critical)
        Creates a new virtual list view request control.
        Parameters:
        assertion - value to match in the sort control
        before - number of entries before the target
        after - number of entries after the target
        critical - whether this control is critical
      • VirtualListViewRequestControl

        public VirtualListViewRequestControl​(String assertion,
                                             int before,
                                             int after,
                                             byte[] context)
        Creates a new virtual list view request control.
        Parameters:
        assertion - value to match in the sort control
        before - number of entries before the target
        after - number of entries after the target
        context - server context id
      • VirtualListViewRequestControl

        public VirtualListViewRequestControl​(String assertion,
                                             int before,
                                             int after,
                                             byte[] context,
                                             boolean critical)
        Creates a new virtual list view request control.
        Parameters:
        assertion - value to match in the sort control
        before - number of entries before the target
        after - number of entries after the target
        context - server context id
        critical - whether this control is critical
    • Method Detail

      • hasValue

        public boolean hasValue()
        Description copied from interface: RequestControl
        Returns whether the control has a value associated with it.
        Specified by:
        hasValue in interface RequestControl
        Returns:
        whether the control has a value
      • getBeforeCount

        public int getBeforeCount()
        Returns the before count. This indicates how many entries before the target entry the client wants the server to send.
        Returns:
        before count
      • setBeforeCount

        public void setBeforeCount​(int count)
        Sets the before count.
        Parameters:
        count - before count
      • getAfterCount

        public int getAfterCount()
        Returns the after count. This indicates how many entries after the target entry the client wants the server to send.
        Returns:
        after count
      • setAfterCount

        public void setAfterCount​(int count)
        Sets the after count.
        Parameters:
        count - after count
      • getTargetOffset

        public int getTargetOffset()
        Returns the target offset. This indicates the return entry's offset within the ordered search result set.
        Returns:
        target offset
      • setTargetOffset

        public void setTargetOffset​(int offset)
        Sets the target offset.
        Parameters:
        offset - target offset
      • getContentCount

        public int getContentCount()
        Returns the content count. From the RFC:

        contentCount gives the server's estimate of the current number of entries in the list. Together these give sufficient information for the client to update a list box slider position to match the newly retrieved entries and identify the target entry. The contentCount value returned SHOULD be used in a subsequent VirtualListViewRequest control.

        Returns:
        content count
      • setContentCount

        public void setContentCount​(int count)
        Sets the content count.
        Parameters:
        count - content count
      • getAssertionValue

        public String getAssertionValue()
        Returns the assertion value. From the RFC:

        The assertion value is encoded according to the ORDERING matching rule for the attributeDescription in the sort control [SSS]. If present, the value supplied in greaterThanOrEqual is used to determine the target entry by comparison with the values of the attribute specified as the primary sort key. The first list entry who's value is no less than (less than or equal to when the sort order is reversed) the supplied value is the target entry.

        Returns:
        assertion value
      • setAssertionValue

        public void setAssertionValue​(String value)
        Sets the assertion value.
        Parameters:
        value - assertion value
      • getContextID

        public byte[] getContextID()
        Returns the context id. From the RFC:

        The contextID is a server-defined octet string. If present, the contents of the contextID field SHOULD be returned to the server by a client in a subsequent virtual list request. The presence of a contextID here indicates that the server is willing to return contiguous data from a subsequent search request which uses the same search criteria, accompanied by a VirtualListViewRequest which indicates that the client wishes to receive an adjoining page of data.

        Returns:
        context id
      • setContextID

        public void setContextID​(byte[] id)
        Sets the context id.
        Parameters:
        id - context id
      • hashCode

        public int hashCode()
        Description copied from class: AbstractControl
        Returns the hash code for this object.
        Specified by:
        hashCode in class AbstractControl
        Returns:
        hash code
      • encode

        public byte[] encode()
        Description copied from interface: RequestControl
        Provides the BER encoding of this control.
        Specified by:
        encode in interface RequestControl
        Returns:
        BER encoded request control