|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cayenne.access.jdbc.DistinctResultIterator<T>
public class DistinctResultIterator<T>
A ResultIterator that does in-memory filtering of rows to return only distinct rows. Distinct comparison is done by comparing ObjectIds created from each row. Internally DistinctResultIterator wraps another ResultIterator that provides the actual rows.
Field Summary | |
---|---|
protected boolean |
compareFullRows
|
protected DbEntity |
defaultEntity
|
protected ResultIterator<T> |
delegate
|
protected Set<Map<String,Object>> |
fetchedIds
|
protected DataRow |
nextDataRow
|
Constructor Summary | |
---|---|
DistinctResultIterator(ResultIterator<T> delegate,
DbEntity defaultEntity,
boolean compareFullRows)
Creates new DistinctResultIterator wrapping another ResultIterator. |
Method Summary | |
---|---|
List<T> |
allRows()
Returns all yet unread rows from ResultSet without closing it. |
void |
close()
CLoses underlying ResultIterator. |
boolean |
hasNextRow()
Returns true if there is at least one more record that can be read from the iterator. |
Iterator<T> |
iterator()
|
T |
nextRow()
Returns the next result row that is, depending on the query, may be a scalar value, a DataRow, or an Object[] array containing a mix of scalars and DataRows. |
void |
skipRow()
Goes past current row. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected ResultIterator<T> delegate
protected Set<Map<String,Object>> fetchedIds
protected DataRow nextDataRow
protected DbEntity defaultEntity
protected boolean compareFullRows
Constructor Detail |
---|
public DistinctResultIterator(ResultIterator<T> delegate, DbEntity defaultEntity, boolean compareFullRows)
wrappedIterator
- defaultEntity
- an entity needed to build ObjectIds for distinct comparison.Method Detail |
---|
public Iterator<T> iterator()
iterator
in interface Iterable<T>
public void close()
close
in interface ResultIterator<T>
public List<T> allRows()
ResultIterator
allRows
in interface ResultIterator<T>
public boolean hasNextRow()
ResultIterator
hasNextRow
in interface ResultIterator<T>
public T nextRow()
ResultIterator
nextRow
in interface ResultIterator<T>
public void skipRow()
ResultIterator
skipRow
in interface ResultIterator<T>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |