public class OrCursor<V> extends AbstractIndexCursor<V>
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<java.util.Set<java.lang.String>> |
blacklists |
private int |
cursorIndex |
private java.util.List<org.apache.directory.api.ldap.model.cursor.Cursor<IndexEntry<V,java.lang.String>>> |
cursors |
private java.util.List<Evaluator<? extends org.apache.directory.api.ldap.model.filter.ExprNode>> |
evaluators |
private static boolean |
IS_DEBUG
Speedup for logs
|
private static org.slf4j.Logger |
LOG_CURSOR
A dedicated log for cursors
|
private IndexEntry<V,java.lang.String> |
prefetched
The candidate we have fetched in the next/previous call
|
private static java.lang.String |
UNSUPPORTED_MSG |
| Constructor and Description |
|---|
OrCursor(java.util.List<org.apache.directory.api.ldap.model.cursor.Cursor<IndexEntry<V,java.lang.String>>> cursors,
java.util.List<Evaluator<? extends org.apache.directory.api.ldap.model.filter.ExprNode>> evaluators) |
| Modifier and Type | Method and Description |
|---|---|
void |
afterLast() |
void |
beforeFirst() |
private void |
blackListIfDuplicate(IndexEntry<?,java.lang.String> indexEntry)
The first sub-expression Cursor to advance to an entry adds the entry
to the blacklists of other Cursors that might return that entry.
|
void |
close() |
void |
close(java.lang.Exception cause) |
private java.lang.String |
dumpCursors(java.lang.String tabs)
Dumps the cursors
|
private java.lang.String |
dumpEvaluators(java.lang.String tabs)
Dumps the evaluators
|
boolean |
first() |
IndexEntry<V,java.lang.String> |
get() |
protected java.lang.String |
getUnsupportedMessage()
Gets the message to return for operations that are not supported
|
private boolean |
isBlackListed(java.lang.String id) |
boolean |
last() |
boolean |
next() |
boolean |
previous() |
java.lang.String |
toString() |
java.lang.String |
toString(java.lang.String tabs) |
after, available, before, setAvailablecheckNotClosed, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, iterator, setClosureMonitorprivate static final org.slf4j.Logger LOG_CURSOR
private static final boolean IS_DEBUG
private static final java.lang.String UNSUPPORTED_MSG
private final java.util.List<org.apache.directory.api.ldap.model.cursor.Cursor<IndexEntry<V,java.lang.String>>> cursors
private final java.util.List<Evaluator<? extends org.apache.directory.api.ldap.model.filter.ExprNode>> evaluators
private final java.util.List<java.util.Set<java.lang.String>> blacklists
private int cursorIndex
private IndexEntry<V,java.lang.String> prefetched
public OrCursor(java.util.List<org.apache.directory.api.ldap.model.cursor.Cursor<IndexEntry<V,java.lang.String>>> cursors, java.util.List<Evaluator<? extends org.apache.directory.api.ldap.model.filter.ExprNode>> evaluators)
protected java.lang.String getUnsupportedMessage()
getUnsupportedMessage in class AbstractIndexCursor<V>public void beforeFirst()
throws org.apache.directory.api.ldap.model.exception.LdapException,
org.apache.directory.api.ldap.model.cursor.CursorException
org.apache.directory.api.ldap.model.exception.LdapExceptionorg.apache.directory.api.ldap.model.cursor.CursorExceptionpublic void afterLast()
throws org.apache.directory.api.ldap.model.exception.LdapException,
org.apache.directory.api.ldap.model.cursor.CursorException
org.apache.directory.api.ldap.model.exception.LdapExceptionorg.apache.directory.api.ldap.model.cursor.CursorExceptionpublic boolean first()
throws org.apache.directory.api.ldap.model.exception.LdapException,
org.apache.directory.api.ldap.model.cursor.CursorException
org.apache.directory.api.ldap.model.exception.LdapExceptionorg.apache.directory.api.ldap.model.cursor.CursorExceptionpublic boolean last()
throws org.apache.directory.api.ldap.model.exception.LdapException,
org.apache.directory.api.ldap.model.cursor.CursorException
org.apache.directory.api.ldap.model.exception.LdapExceptionorg.apache.directory.api.ldap.model.cursor.CursorExceptionprivate boolean isBlackListed(java.lang.String id)
private void blackListIfDuplicate(IndexEntry<?,java.lang.String> indexEntry) throws org.apache.directory.api.ldap.model.exception.LdapException
indexEntry - the index entry to blacklistjava.lang.Exception - if there are problems accessing underlying dborg.apache.directory.api.ldap.model.exception.LdapExceptionpublic boolean previous()
throws org.apache.directory.api.ldap.model.exception.LdapException,
org.apache.directory.api.ldap.model.cursor.CursorException
org.apache.directory.api.ldap.model.exception.LdapExceptionorg.apache.directory.api.ldap.model.cursor.CursorExceptionpublic boolean next()
throws org.apache.directory.api.ldap.model.exception.LdapException,
org.apache.directory.api.ldap.model.cursor.CursorException
org.apache.directory.api.ldap.model.exception.LdapExceptionorg.apache.directory.api.ldap.model.cursor.CursorExceptionpublic IndexEntry<V,java.lang.String> get() throws org.apache.directory.api.ldap.model.cursor.CursorException
org.apache.directory.api.ldap.model.cursor.CursorExceptionpublic void close()
close in interface org.apache.directory.api.ldap.model.cursor.Cursor<IndexEntry<V,java.lang.String>>close in class org.apache.directory.api.ldap.model.cursor.AbstractCursor<IndexEntry<V,java.lang.String>>public void close(java.lang.Exception cause)
close in interface org.apache.directory.api.ldap.model.cursor.Cursor<IndexEntry<V,java.lang.String>>close in class org.apache.directory.api.ldap.model.cursor.AbstractCursor<IndexEntry<V,java.lang.String>>private java.lang.String dumpEvaluators(java.lang.String tabs)
private java.lang.String dumpCursors(java.lang.String tabs)
public java.lang.String toString(java.lang.String tabs)
toString in interface org.apache.directory.api.ldap.model.cursor.Cursor<IndexEntry<V,java.lang.String>>toString in class org.apache.directory.api.ldap.model.cursor.AbstractCursor<IndexEntry<V,java.lang.String>>Object.toString()public java.lang.String toString()
toString in class java.lang.ObjectObject.toString()