Class AbstractCursor<E>
- java.lang.Object
-
- org.apache.directory.api.ldap.model.cursor.AbstractCursor<E>
-
- Type Parameters:
E
- The type of element on which this cursor will iterate
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Iterable<E>
,Cursor<E>
- Direct Known Subclasses:
EmptyCursor
,EntryCursorImpl
,ListCursor
,SearchCursorImpl
,SetCursor
,SingletonCursor
public abstract class AbstractCursor<E> extends Object implements Cursor<E>
Simple class that contains often used Cursor code.- Author:
- Apache Directory Project
-
-
Constructor Summary
Constructors Constructor Description AbstractCursor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkNotClosed()
Check that the cursor is not closed before executing an operation.void
close()
void
close(Exception cause)
Closes this Cursor and frees any resources it my have allocated.boolean
isAfterLast()
Is this Cursor positioned after the last element.boolean
isBeforeFirst()
Is this Cursor positioned before the first element.boolean
isClosed()
Checks if this Cursor is closed.boolean
isFirst()
Is this Cursor positioned at the first element.boolean
isLast()
Is this Cursor positioned at the last element.Iterator<E>
iterator()
void
setClosureMonitor(ClosureMonitor monitor)
Sets a non-null closure monitor to associate with this Cursor.String
toString(String tabs)
Pretty-print a cursor and its wrapped cursor.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.directory.api.ldap.model.cursor.Cursor
after, afterLast, available, before, beforeFirst, first, get, last, next, previous
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
AbstractCursor
public AbstractCursor()
-
-
Method Detail
-
setClosureMonitor
public void setClosureMonitor(ClosureMonitor monitor)
Sets a non-null closure monitor to associate with this Cursor.- Specified by:
setClosureMonitor
in interfaceCursor<E>
- Parameters:
monitor
- the monitor to use for detecting Cursor close events
-
checkNotClosed
public final void checkNotClosed() throws CursorClosedException
Check that the cursor is not closed before executing an operation.- Throws:
CursorClosedException
- If there is a problem during the check
-
isClosed
public boolean isClosed()
Checks if this Cursor is closed. Calls to this operation should not fail with exceptions if and only if the cursor is in the closed state.
-
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 interfaceCursor<E>
- Parameters:
cause
- exception thrown when this Cursor is accessed after close- Throws:
IOException
- If we can't close the Cursor
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
isAfterLast
public boolean isAfterLast()
Is this Cursor positioned after the last element.- Specified by:
isAfterLast
in interfaceCursor<E>
- Returns:
- true if this cursor is positioned after the last element, false otherwise
-
isBeforeFirst
public boolean isBeforeFirst()
Is this Cursor positioned before the first element.- Specified by:
isBeforeFirst
in interfaceCursor<E>
- Returns:
- true if this cursor is positioned before the first element, false otherwise
-
isFirst
public boolean isFirst()
Is this Cursor positioned at the first element.
-
isLast
public boolean isLast()
Is this Cursor positioned at the last element.
-
-