Package org.hibernate.internal
Class FetchingScrollableResultsImpl<R>
java.lang.Object
org.hibernate.internal.AbstractScrollableResults<R>
org.hibernate.internal.FetchingScrollableResultsImpl<R>
- All Implemented Interfaces:
AutoCloseable
,ScrollableResultsImplementor<R>
,ScrollableResults<R>
Implementation of
ScrollableResults
which can handle collection fetches.-
Constructor Summary
ConstructorsConstructorDescriptionFetchingScrollableResultsImpl
(JdbcValues jdbcValues, JdbcValuesSourceProcessingOptions processingOptions, JdbcValuesSourceProcessingStateStandardImpl jdbcValuesSourceProcessingState, RowProcessingStateStandardImpl rowProcessingState, RowReader<R> rowReader, SharedSessionContractImplementor persistenceContext) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Go to a location just after the last result.void
Go to a location just before first result.boolean
first()
Go to the first result.protected R
int
The current position within the query results.int
Get the current position in the results, with the first position labelled as row number0
.boolean
isFirst()
Is this the first result?boolean
isLast()
Is this the last result?boolean
last()
Go to the last result.boolean
next()
Advance to the next result.boolean
position
(int position) Moves the result cursor to the specified position.boolean
previous()
Retreat to the previous result.boolean
scroll
(int positions) Scroll the specified number of positions from the current position.boolean
setRowNumber
(int rowNumber) Set the current position in the result set, with the first position labelled as row number1
, and the last position labelled as row number-1
.Methods inherited from class org.hibernate.internal.AbstractScrollableResults
afterScrollOperation, close, get, getJdbcValues, getJdbcValuesSourceProcessingState, getPersistenceContext, getProcessingOptions, getRowProcessingState, getRowReader, isClosed, setFetchSize
-
Constructor Details
-
Method Details
-
getCurrentRow
- Specified by:
getCurrentRow
in classAbstractScrollableResults<R>
-
next
public boolean next()Description copied from interface:ScrollableResults
Advance to the next result.- Returns:
true
if there is another result
-
previous
public boolean previous()Description copied from interface:ScrollableResults
Retreat to the previous result.- Returns:
true
if there is a previous result
-
scroll
public boolean scroll(int positions) Description copied from interface:ScrollableResults
Scroll the specified number of positions from the current position.- Parameters:
positions
- a positive (forward) or negative (backward) number of positions- Returns:
true
if there is a result at the new location
-
position
public boolean position(int position) Description copied from interface:ScrollableResults
Moves the result cursor to the specified position. The index may be a positive value, and the position may be reached by counting forward from the first result at position1
, or it may be a negative value, so that the position may be reached by counting backward from the last result at position-1
.- Parameters:
position
- an absolute positive (from the start) or negative (from the end) position within the query results- Returns:
true
if there is a result at the new location
-
last
public boolean last()Description copied from interface:ScrollableResults
Go to the last result.- Returns:
true
if there are any results
-
first
public boolean first()Description copied from interface:ScrollableResults
Go to the first result.- Returns:
true
if there are any results
-
beforeFirst
public void beforeFirst()Description copied from interface:ScrollableResults
Go to a location just before first result.This is the location of the cursor on a newly returned scrollable result.
-
afterLast
public void afterLast()Description copied from interface:ScrollableResults
Go to a location just after the last result. -
isFirst
public boolean isFirst()Description copied from interface:ScrollableResults
Is this the first result?- Returns:
true
if this is the first row of results, otherwisefalse
-
isLast
public boolean isLast()Description copied from interface:ScrollableResults
Is this the last result?- Returns:
true
if this is the last row of results.
-
getRowNumber
public int getRowNumber()Description copied from interface:ScrollableResults
Get the current position in the results, with the first position labelled as row number0
. That is, this operation returnsposition-1
.- Returns:
- The current position number, numbered from
0
;-1
indicates that there is no current row
-
getPosition
public int getPosition()Description copied from interface:ScrollableResults
The current position within the query results. The first query result, if any, is at position1
. An empty or newly-created instance has position0
.- Returns:
- the current position, a positive integer index
starting at
1
, or0
if this instance is empty or newly-created
-
setRowNumber
public boolean setRowNumber(int rowNumber) Description copied from interface:ScrollableResults
Set the current position in the result set, with the first position labelled as row number1
, and the last position labelled as row number-1
. Results may be numbered from the first result (using a positive position) or backward from the last result (using a negative position).- Parameters:
rowNumber
- the row number. A positive number indicates a value numbered from the first row; a negative number indicates a value numbered from the last row.- Returns:
- true if there is a row at that row number
-