Class SearchCursorImpl

    • Constructor Detail

      • SearchCursorImpl

        public SearchCursorImpl​(SearchFuture future,
                                long timeout,
                                TimeUnit timeUnit)
        Instantiates a new search cursor.
        Parameters:
        future - the future
        timeout - the timeout
        timeUnit - the time unit
    • Method Detail

      • next

        public boolean next()
                     throws LdapException,
                            CursorException
        Advances this Cursor to the next position. If called before explicitly positioning this Cursor, the position is presumed to be before the first element and this method moves the cursor forward to the first element.
        Specified by:
        next in interface Cursor<Response>
        Returns:
        true if the advance succeeded, false otherwise
        Throws:
        LdapException - if we have get any LDAP exception while operating the cursor
        CursorException - if there are problems advancing to this Cursor to the next position, or if this Cursor is closed
      • available

        public boolean available()
        Determines whether or not a call to get() will succeed.
        Specified by:
        available in interface Cursor<Response>
        Returns:
        true if a call to the get() method will succeed, false otherwise
      • close

        public void close​(Exception cause)
                   throws IOException
        Closes this Cursor and frees any resources it my have allocated. Repeated calls to this method after this Cursor has already been called should not fail with exceptions. The reason argument is the Exception instance thrown instead of the standard CursorClosedException.
        Specified by:
        close in interface Cursor<Response>
        Overrides:
        close in class AbstractCursor<Response>
        Parameters:
        cause - exception thrown when this Cursor is accessed after close
        Throws:
        IOException - If we can't close the Cursor
      • after

        public void after​(Response element)
                   throws LdapException,
                          CursorException
        This operation is not supported in SearchCursor. Prepares this Cursor, so a subsequent call to Cursor#previous() with a true return value, will have positioned the Cursor on a dataSet element equal to or less than the element argument but not greater. A call to Cursor#next() with a true return value will position the Cursor on a dataSet element greater than the argument. If Cursor#next() returns false then the Cursor is past the last element and so all values in the dataSet are less than or equal to the argument. If Cursor#previous() returns false then the Cursor is positioned before the first element and all elements in the dataSet are greater than the argument.
        Specified by:
        after in interface Cursor<Response>
        Parameters:
        element - the element to be positioned after
        Throws:
        LdapException - if we have get any LDAP exception while operating the cursor
        CursorException - if there are problems advancing to this Cursor after the given element, or if this Cursor is closed
      • before

        public void before​(Response element)
                    throws LdapException,
                           CursorException
        This operation is not supported in SearchCursor. Prepares this Cursor, so a subsequent call to Cursor#next() with a true return value, will have positioned the Cursor on a dataSet element equal to or less than the element argument but not greater. A call to Cursor#previous() with a true return value will position the Cursor on a dataSet element less than the argument. If Cursor#next() returns false then the Cursor is past the last element and so all values in the dataSet are less than the argument. If Cursor#previous() returns false then the Cursor is positioned before the first element and all elements in the dataSet are greater than the argument.
        Specified by:
        before in interface Cursor<Response>
        Parameters:
        element - the element to be positioned before
        Throws:
        LdapException - if we have get any LDAP exception while operating the cursor
        CursorException - if there are problems advancing to this Cursor before the given element, or if this Cursor is closed
      • first

        public boolean first()
                      throws LdapException,
                             CursorException
        This operation is not supported in SearchCursor. Positions this Cursor at the first element.
        Specified by:
        first in interface Cursor<Response>
        Returns:
        true if the position has been successfully changed to the first element, false otherwise
        Throws:
        LdapException - if we have get any LDAP exception while operating the cursor
        CursorException - if there are problems advancing to this Cursor to the first position, or if this Cursor is closed
      • last

        public boolean last()
                     throws LdapException,
                            CursorException
        This operation is not supported in SearchCursor. Positions this Cursor at the last element.
        Specified by:
        last in interface Cursor<Response>
        Returns:
        true if the position has been successfully changed to the last element, false otherwise
        Throws:
        LdapException - if we have get any LDAP exception while operating the cursor
        CursorException - if there are problems advancing to this Cursor to the last position, or if this Cursor is closed
      • previous

        public boolean previous()
                         throws LdapException,
                                CursorException
        This operation is not supported in SearchCursor. Advances this Cursor to the previous position. If called before explicitly positioning this Cursor, the position is presumed to be after the last element and this method moves the cursor back to the last element.
        Specified by:
        previous in interface Cursor<Response>
        Returns:
        true if the advance succeeded, false otherwise
        Throws:
        LdapException - if we have get any LDAP exception while operating the cursor
        CursorException - if there are problems advancing to this Cursor to the previous position, or if this Cursor is closed
      • isDone

        public boolean isDone()
        Specified by:
        isDone in interface SearchCursor
        Returns:
        true if the cursor has processed all the elements we were searching
      • isEntry

        public boolean isEntry()
        Specified by:
        isEntry in interface SearchCursor
        Returns:
        true if the next element in the cursor is an entry