public class IndexCursorImpl extends CursorImpl implements IndexCursor
Cursor.Id, Cursor.Position, Cursor.Savepoint
MOVE_FORWARD, MOVE_REVERSE
Modifier and Type | Method and Description |
---|---|
static IndexCursorImpl |
createCursor(TableImpl table,
IndexImpl index,
Object[] startRow,
boolean startInclusive,
Object[] endRow,
boolean endInclusive)
Creates an indexed cursor for the given table, narrowed to the given
range.
|
boolean |
currentRowMatchesEntry(Object... entryValues)
Returns
true if the current row matches the given index entries. |
Iterator<Row> |
entryIterator(EntryIterableBuilder iterBuilder) |
void |
findClosestRowByEntry(Object... entryValues)
Moves to the first row (as defined by the cursor) where the index entries
are >= the given values.
|
boolean |
findFirstRowByEntry(Object... entryValues)
Moves to the first row (as defined by the cursor) where the index entries
match the given values.
|
Row |
findRowByEntry(Object... entryValues)
Finds the first row (as defined by the cursor) where the index entries
match the given values.
|
IndexImpl |
getIndex() |
EntryIterableBuilder |
newEntryIterable(Object... entryValues)
Convenience method for constructing a new EntryIterableBuilder for this
cursor.
|
afterLast, beforeFirst, createCursor, currentRowMatches, currentRowMatches, currentRowMatches, deleteCurrentRow, findFirstRow, findFirstRow, findFirstRow, findNextRow, findNextRow, findNextRow, findRow, getColumnMatcher, getCurrentRow, getCurrentRow, getCurrentRowValue, getCurrentRowValue, getErrorHandler, getFormat, getId, getNextRow, getNextRow, getPageChannel, getPreviousRow, getPreviousRow, getRowState, getSavepoint, getTable, isAfterLast, isBeforeFirst, isCurrentRowDeleted, iterator, iterator, moveNextRows, movePreviousRows, moveToNextRow, moveToPreviousRow, newIterable, reset, restoreSavepoint, restoreSavepoint, setColumnMatcher, setCurrentRowValue, setCurrentRowValue, setErrorHandler, toString, updateCurrentRow, updateCurrentRowFromMap
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
afterLast, beforeFirst, currentRowMatches, currentRowMatches, deleteCurrentRow, findFirstRow, findFirstRow, findNextRow, findNextRow, findRow, getColumnMatcher, getCurrentRow, getCurrentRow, getCurrentRowValue, getErrorHandler, getId, getNextRow, getNextRow, getPreviousRow, getPreviousRow, getSavepoint, getTable, isAfterLast, isBeforeFirst, isCurrentRowDeleted, iterator, moveNextRows, movePreviousRows, moveToNextRow, moveToPreviousRow, newIterable, reset, restoreSavepoint, setColumnMatcher, setCurrentRowValue, setErrorHandler, stream, updateCurrentRow, updateCurrentRowFromMap
forEach, spliterator
public static IndexCursorImpl createCursor(TableImpl table, IndexImpl index, Object[] startRow, boolean startInclusive, Object[] endRow, boolean endInclusive) throws IOException
Note, index based table traversal may not include all rows, as certain
types of indexes do not include all entries (namely, some indexes ignore
null entries, see Index.shouldIgnoreNulls()
).
table
- the table over which this cursor will traverseindex
- index for the table which will define traversal order as
well as enhance certain lookupsstartRow
- the first row of data for the cursor, or null
for
the first entrystartInclusive
- whether or not startRow is inclusive or exclusiveendRow
- the last row of data for the cursor, or null
for
the last entryendInclusive
- whether or not endRow is inclusive or exclusiveIOException
public IndexImpl getIndex()
getIndex
in interface IndexCursor
public Row findRowByEntry(Object... entryValues) throws IOException
IndexCursor
findRowByEntry
in interface IndexCursor
entryValues
- the column values for the index's columns.null
if a match could not be found.IOException
public boolean findFirstRowByEntry(Object... entryValues) throws IOException
IndexCursor
Warning, this method always starts searching from the beginning of the Table (you cannot use it to find successive matches).
findFirstRowByEntry
in interface IndexCursor
entryValues
- the column values for the index's columns.true
if a valid row was found with the given values,
false
if no row was foundIOException
public void findClosestRowByEntry(Object... entryValues) throws IOException
IndexCursor
findClosestRowByEntry
in interface IndexCursor
entryValues
- the column values for the index's columns.IOException
public boolean currentRowMatchesEntry(Object... entryValues) throws IOException
IndexCursor
true
if the current row matches the given index entries.currentRowMatchesEntry
in interface IndexCursor
entryValues
- the column values for the index's columns.IOException
public EntryIterableBuilder newEntryIterable(Object... entryValues)
IndexCursor
newEntryIterable
in interface IndexCursor
entryValues
- the column values for the index's columns.public Iterator<Row> entryIterator(EntryIterableBuilder iterBuilder)
Copyright © 2005–2024 OpenHMS. All rights reserved.