/** * Set the current location in the result set, numbered from either the first row (row number <tt>0</tt>), or the last * row (row number <tt>-1</tt>). * * @param rowNumber the row number, numbered from the last row, in the case of a negative row number * * @return true if there is a row at that row number */ public boolean setRowNumber(int rowNumber) throws HibernateException { if ( rowNumber == 1 ) { return first(); } else if ( rowNumber == -1 ) { return last(); } else if ( maxPosition != null && rowNumber == maxPosition.intValue() ) { return last(); } return scroll( rowNumber - currentPosition ); } }