xxl.relational
Class Sorter

java.lang.Object
  |
  +--xxl.relational.AbstractResultSet
        |
        +--xxl.relational.Sorter

public class Sorter
extends AbstractResultSet

This class sorts the given ResultSet by the specified comparator.

Example:


	new Sorter(new String[]{"last name", "first name"}, new boolean[]{true, true}, 1024, resultSet);
	
sorts the tuples first by "last name" (ascending) and second by "first name" (ascending). Therewhile only 1024 tuples are handled in main memory at one time.


More formally:
One can specify his own comparator to compare two tuples.

Example:


	new Sorter(comparator, 1024, resultSet);
	
sorts the tuples by the specified comparator. Therewhile only 1024 tuples are handled in main memory at one time.


Field Summary
protected  java.sql.ResultSet resultSet
           
protected  Cursor sorter
           
protected  Tuple t
           
protected  boolean wasNull
           
 
Constructor Summary
Sorter(java.util.Comparator comparator, int maxTuplesInMemory, java.sql.ResultSet resultSet)
           
Sorter(int[] columns, boolean[] ascending, int maxTuplesInMemory, java.sql.ResultSet resultSet)
           
 
Method Summary
 void close()
           
 int findColumn(java.lang.String columnName)
           
 byte[] getBytes(int columnIndex)
           
 java.sql.ResultSetMetaData getMetaData()
           
 java.lang.Object getObject(int columnIndex)
           
 boolean next()
           
 boolean wasNull()
           
 
Methods inherited from class xxl.relational.AbstractResultSet
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, deleteRow, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getColumnCount, getConcurrency, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getInt, getInt, getLong, getLong, getObject, getObject, getObject, getRef, getRef, getRow, getShort, getShort, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getWarnings, insertRow, isAfterLast, isBeforeFirst, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateRow, updateShort, updateShort, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

resultSet

protected java.sql.ResultSet resultSet

sorter

protected Cursor sorter

t

protected Tuple t

wasNull

protected boolean wasNull
Constructor Detail

Sorter

public Sorter(java.util.Comparator comparator,
              int maxTuplesInMemory,
              java.sql.ResultSet resultSet)

Sorter

public Sorter(int[] columns,
              boolean[] ascending,
              int maxTuplesInMemory,
              java.sql.ResultSet resultSet)
Method Detail

next

public boolean next()
             throws java.sql.SQLException
Overrides:
next in class AbstractResultSet

getObject

public java.lang.Object getObject(int columnIndex)
                           throws java.sql.SQLException
Overrides:
getObject in class AbstractResultSet

getBytes

public byte[] getBytes(int columnIndex)
                throws java.sql.SQLException
Overrides:
getBytes in class AbstractResultSet

wasNull

public boolean wasNull()
                throws java.sql.SQLException
Overrides:
wasNull in class AbstractResultSet

getMetaData

public java.sql.ResultSetMetaData getMetaData()
                                       throws java.sql.SQLException
Overrides:
getMetaData in class AbstractResultSet

findColumn

public int findColumn(java.lang.String columnName)
               throws java.sql.SQLException
Overrides:
findColumn in class AbstractResultSet

close

public void close()
           throws java.sql.SQLException
Overrides:
close in class AbstractResultSet