APIdia Launch Partner
Top Description Inners Fields Constructors Methods
io.github.spannm.jackcess.impl

public Class TableScanCursor

extends CursorImpl
Class Inheritance
Imports
io.github.spannm.jackcess.impl.TableImpl.RowState, java.io.IOException

Simple un-indexed cursor.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class
TableScanCursor.ForwardScanDirHandler

Handles moving the table scan cursor forward.

private class
TableScanCursor.ReverseScanDirHandler

Handles moving the table scan cursor backward.

private abstract static class
TableScanCursor.ScanDirHandler

Handles moving the table scan cursor in a given direction.

private static class
TableScanCursor.ScanPosition

Value object which maintains the current position of a TableScanCursor.

Field Summary

Modifier and TypeField and Description
private static final TableScanCursor.ScanPosition
FIRST_SCAN_POSITION

first position for the TableScanCursor

private final TableScanCursor.ScanDirHandler
forwardDirHandler

ScanDirHandler for forward traversal

private static final TableScanCursor.ScanPosition
LAST_SCAN_POSITION

last position for the TableScanCursor

private final UsageMap.PageCursor
ownedPagesCursor

Cursor over the pages that this table owns

private final TableScanCursor.ScanDirHandler
reverseDirHandler

ScanDirHandler for backward traversal

Inherited from io.github.spannm.jackcess.impl.CursorImpl:
mcolumnMatchermcurPosMOVE_FORWARDMOVE_REVERSEmprevPos

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected CursorImpl.PositionImpl
findAnotherPosition(TableImpl.RowState rowState, CursorImpl.PositionImpl curPos, boolean moveForward)

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.findAnotherPosition.

Finds the next non-deleted row after the given row (as defined by this cursor) and returns the id of the row, where "next" may be backwards if moveForward is false.

protected TableScanCursor.ScanDirHandler
getDirHandler(boolean moveForward)

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.getDirHandler.

Returns the DirHandler for the given movement direction.

protected CursorImpl.PositionImpl
getRowPosition(RowIdImpl rowId)

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.getRowPosition.

Returns the appropriate position information for the given row (which is the current row and is valid).

protected boolean
isUpToDate()

Overrides io.github.spannm.jackcess.impl.CursorImpl.isUpToDate.

Returns true if this cursor is up-to-date with respect to the relevant table and related table objects, false otherwise.

protected void
reset(boolean moveForward)

Overrides io.github.spannm.jackcess.impl.CursorImpl.reset.

Resets this cursor for traversing the given direction.

protected void
restorePositionImpl(CursorImpl.PositionImpl curPos, CursorImpl.PositionImpl prevPos)

Overrides io.github.spannm.jackcess.impl.CursorImpl.restorePositionImpl.

Restores a current and previous position for the cursor.

Inherited from io.github.spannm.jackcess.impl.CursorImpl:
afterLastbeforeFirstcreateCursorcurrentRowMatchescurrentRowMatchescurrentRowMatchescurrentRowMatchesImplcurrentRowMatchesImplcurrentRowMatchesPatterndeleteCurrentRowfindAnotherRowfindAnotherRowfindAnotherRowImplfindAnotherRowImplfindFirstRowfindFirstRowfindFirstRowfindNextRowfindNextRowfindNextRowfindRowgetColumnMatchergetCurrentRowgetCurrentRowgetCurrentRowValuegetCurrentRowValuegetDefaultColumnMatchergetErrorHandlergetFirstPositiongetFormatgetIdgetLastPositiongetNextRowgetNextRowgetPageChannelgetPreviousRowgetPreviousRowgetRowStategetSavepointgetTableisAfterLastisAtBeginningisBeforeFirstisCurrentRowDeletedisCurrentRowValiditeratoriteratorkeepSearchingmoveNextRowsmovePreviousRowsmoveToAnotherRowmoveToNextRowmoveToPreviousRownewIterableprepareSearchInfoprepareSearchInforesetrestorePositionrestorePositionrestoreSavepointrestoreSavepointsetColumnMatchersetCurrentRowValuesetCurrentRowValuesetErrorHandlertoStringupdateCurrentRowupdateCurrentRowFromMap

Field Detail

FIRST_SCAN_POSITIONback to summary
private static final TableScanCursor.ScanPosition FIRST_SCAN_POSITION

first position for the TableScanCursor

forwardDirHandlerback to summary
private final TableScanCursor.ScanDirHandler forwardDirHandler

ScanDirHandler for forward traversal

LAST_SCAN_POSITIONback to summary
private static final TableScanCursor.ScanPosition LAST_SCAN_POSITION

last position for the TableScanCursor

ownedPagesCursorback to summary
private final UsageMap.PageCursor ownedPagesCursor

Cursor over the pages that this table owns

reverseDirHandlerback to summary
private final TableScanCursor.ScanDirHandler reverseDirHandler

ScanDirHandler for backward traversal

Constructor Detail

TableScanCursorback to summary
public TableScanCursor(TableImpl table)

Method Detail

findAnotherPositionback to summary
protected CursorImpl.PositionImpl findAnotherPosition(TableImpl.RowState rowState, CursorImpl.PositionImpl curPos, boolean moveForward) throws IOException

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.findAnotherPosition.

Doc from io.github.spannm.jackcess.impl.CursorImpl.findAnotherPosition.

Finds the next non-deleted row after the given row (as defined by this cursor) and returns the id of the row, where "next" may be backwards if moveForward is false. If there are no more rows, the returned rowId should equal the value returned by getLastPosition if moving forward and getFirstPosition if moving backward.

Annotations
@Override
getDirHandlerback to summary
protected TableScanCursor.ScanDirHandler getDirHandler(boolean moveForward)

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.getDirHandler.

Doc from io.github.spannm.jackcess.impl.CursorImpl.getDirHandler.

Returns the DirHandler for the given movement direction.

Annotations
@Override
getRowPositionback to summary
protected CursorImpl.PositionImpl getRowPosition(RowIdImpl rowId)

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.getRowPosition.

Doc from io.github.spannm.jackcess.impl.CursorImpl.getRowPosition.

Returns the appropriate position information for the given row (which is the current row and is valid).

Annotations
@Override
isUpToDateback to summary
protected boolean isUpToDate()

Overrides io.github.spannm.jackcess.impl.CursorImpl.isUpToDate.

Doc from io.github.spannm.jackcess.impl.CursorImpl.isUpToDate.

Returns true if this cursor is up-to-date with respect to the relevant table and related table objects, false otherwise.

Annotations
@Override
resetback to summary
protected void reset(boolean moveForward)

Overrides io.github.spannm.jackcess.impl.CursorImpl.reset.

Doc from io.github.spannm.jackcess.impl.CursorImpl.reset.

Resets this cursor for traversing the given direction.

Annotations
@Override
restorePositionImplback to summary
protected void restorePositionImpl(CursorImpl.PositionImpl curPos, CursorImpl.PositionImpl prevPos) throws IOException

Overrides io.github.spannm.jackcess.impl.CursorImpl.restorePositionImpl.

Doc from io.github.spannm.jackcess.impl.CursorImpl.restorePositionImpl.

Restores a current and previous position for the cursor.

Annotations
@Override
io.github.spannm.jackcess.impl back to summary

private final Class TableScanCursor.ForwardScanDirHandler

extends ScanDirHandler
Class Inheritance

Handles moving the table scan cursor forward.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public int
public int
public CursorImpl.PositionImpl
public CursorImpl.PositionImpl
public int

Constructor Detail

ForwardScanDirHandlerback to summary
private ForwardScanDirHandler()

Method Detail

getAnotherPageNumberback to summary
public int getAnotherPageNumber()

Implements abstract io.github.spannm.jackcess.impl.TableScanCursor.ScanDirHandler.getAnotherPageNumber.

Annotations
@Override
getAnotherRowNumberback to summary
public int getAnotherRowNumber(int curRowNumber)

Implements abstract io.github.spannm.jackcess.impl.TableScanCursor.ScanDirHandler.getAnotherRowNumber.

Annotations
@Override
getBeginningPositionback to summary
public CursorImpl.PositionImpl getBeginningPosition()

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.DirHandler.getBeginningPosition.

Annotations
@Override
getEndPositionback to summary
public CursorImpl.PositionImpl getEndPosition()

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.DirHandler.getEndPosition.

Annotations
@Override
getInitialRowNumberback to summary
public int getInitialRowNumber(int rowsOnPage)

Implements abstract io.github.spannm.jackcess.impl.TableScanCursor.ScanDirHandler.getInitialRowNumber.

Annotations
@Override
io.github.spannm.jackcess.impl back to summary

private final Class TableScanCursor.ReverseScanDirHandler

extends ScanDirHandler
Class Inheritance

Handles moving the table scan cursor backward.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public int
public int
public CursorImpl.PositionImpl
public CursorImpl.PositionImpl
public int

Constructor Detail

ReverseScanDirHandlerback to summary
private ReverseScanDirHandler()

Method Detail

getAnotherPageNumberback to summary
public int getAnotherPageNumber()

Implements abstract io.github.spannm.jackcess.impl.TableScanCursor.ScanDirHandler.getAnotherPageNumber.

Annotations
@Override
getAnotherRowNumberback to summary
public int getAnotherRowNumber(int curRowNumber)

Implements abstract io.github.spannm.jackcess.impl.TableScanCursor.ScanDirHandler.getAnotherRowNumber.

Annotations
@Override
getBeginningPositionback to summary
public CursorImpl.PositionImpl getBeginningPosition()

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.DirHandler.getBeginningPosition.

Annotations
@Override
getEndPositionback to summary
public CursorImpl.PositionImpl getEndPosition()

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.DirHandler.getEndPosition.

Annotations
@Override
getInitialRowNumberback to summary
public int getInitialRowNumber(int rowsOnPage)

Implements abstract io.github.spannm.jackcess.impl.TableScanCursor.ScanDirHandler.getInitialRowNumber.

Annotations
@Override
io.github.spannm.jackcess.impl back to summary

private abstract Class TableScanCursor.ScanDirHandler

extends DirHandler
Class Inheritance
Known Direct Subclasses
io.github.spannm.jackcess.impl.TableScanCursor.ForwardScanDirHandler, io.github.spannm.jackcess.impl.TableScanCursor.ReverseScanDirHandler

Handles moving the table scan cursor in a given direction. Separates cursor logic from value storage.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public abstract int
public abstract int
getAnotherRowNumber(int curRowNumber)

public abstract int
getInitialRowNumber(int rowsOnPage)

Inherited from io.github.spannm.jackcess.impl.CursorImpl.DirHandler:
getBeginningPositiongetEndPosition

Constructor Detail

ScanDirHandlerback to summary
private ScanDirHandler()

Method Detail

getAnotherPageNumberback to summary
public abstract int getAnotherPageNumber()
getAnotherRowNumberback to summary
public abstract int getAnotherRowNumber(int curRowNumber)
getInitialRowNumberback to summary
public abstract int getInitialRowNumber(int rowsOnPage)
io.github.spannm.jackcess.impl back to summary

private final Class TableScanCursor.ScanPosition

extends PositionImpl
Class Inheritance

Value object which maintains the current position of a TableScanCursor.

Field Summary

Modifier and TypeField and Description
private final RowIdImpl

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
protected boolean
equalsImpl(Object o)

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.PositionImpl.equalsImpl.

Returns true if the subclass specific info in a Position is equal, false otherwise.

public RowIdImpl
getRowId()

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.PositionImpl.getRowId.

Implements io.github.spannm.jackcess.Cursor.Position.getRowId.

Returns the unique RowId of the position of the cursor.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from io.github.spannm.jackcess.impl.CursorImpl.PositionImpl:
equalshashCode

Field Detail

rowIdback to summary
private final RowIdImpl rowId

Constructor Detail

ScanPositionback to summary
private ScanPosition(RowIdImpl rowId)

Method Detail

equalsImplback to summary
protected boolean equalsImpl(Object o)

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.PositionImpl.equalsImpl.

Doc from io.github.spannm.jackcess.impl.CursorImpl.PositionImpl.equalsImpl.

Returns true if the subclass specific info in a Position is equal, false otherwise.

Annotations
@Override
getRowIdback to summary
public RowIdImpl getRowId()

Implements abstract io.github.spannm.jackcess.impl.CursorImpl.PositionImpl.getRowId.

Implements io.github.spannm.jackcess.Cursor.Position.getRowId.

Doc from io.github.spannm.jackcess.impl.CursorImpl.PositionImpl.getRowId.

Returns the unique RowId of the position of the cursor.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override