Files
ebean/src/main/java/io/ebeaninternal/server/query/CQueryIteratorSimple.java
T
Roland PramlandRob Bygrave 40f5596837 add missing @override (#975)
* no effective code change: add missing @override in "io.ebean.*" package
* no effective code change: add missing @override in "io.ebeaninternal.api.*" package
* no effective code change: add missing @override in "io.ebeaninternal.server.*" package
* no effective code change: add missing @override in "io.ebeaninternal.util.*" package
* no effective code change: add missing @override in "io.ebeanservice.*" package
* no effective code change: add missing @override in "src/test/java/"
2017-02-24 00:01:25 +13:00

51 lines
1.1 KiB
Java

package io.ebeaninternal.server.query;
import io.ebean.QueryIterator;
import io.ebeaninternal.server.core.OrmQueryRequest;
import javax.persistence.PersistenceException;
import java.sql.SQLException;
/**
* QueryIterator that does not require a buffer for secondary queries.
*/
class CQueryIteratorSimple<T> implements QueryIterator<T> {
private final CQuery<T> cquery;
private final OrmQueryRequest<T> request;
CQueryIteratorSimple(CQuery<T> cquery, OrmQueryRequest<T> request) {
this.cquery = cquery;
this.request = request;
}
@Override
public boolean hasNext() {
try {
request.flushPersistenceContextOnIterate();
return cquery.hasNext();
} catch (SQLException e) {
throw cquery.createPersistenceException(e);
}
}
@Override
@SuppressWarnings("unchecked")
public T next() {
return (T) cquery.next();
}
@Override
public void close() {
cquery.updateExecutionStatistics();
cquery.close();
request.endTransIfRequired();
}
@Override
public void remove() {
throw new PersistenceException("Remove not allowed");
}
}