#1405 - ENH: Add SqlQuery.findSingleAttribute() ... for returning single scalar values via SqlQuery

This commit is contained in:
rob bygrave
2018-06-07 22:17:01 +12:00
parent eba1003c19
commit ffa8268125
12 changed files with 162 additions and 13 deletions
@@ -1,8 +1,8 @@
package io.ebeaninternal.server.querydefn;
import io.ebean.EbeanServer;
import io.ebean.SqlRow;
import io.ebeaninternal.api.BindParams;
import io.ebeaninternal.api.SpiEbeanServer;
import io.ebeaninternal.api.SpiSqlQuery;
import java.util.List;
@@ -17,7 +17,7 @@ public class DefaultRelationalQuery implements SpiSqlQuery {
private static final long serialVersionUID = -1098305779779591068L;
private final transient EbeanServer server;
private final transient SpiEbeanServer server;
private String label;
@@ -39,16 +39,11 @@ public class DefaultRelationalQuery implements SpiSqlQuery {
/**
* Additional supply a query detail object.
*/
public DefaultRelationalQuery(EbeanServer server, String query) {
public DefaultRelationalQuery(SpiEbeanServer server, String query) {
this.server = server;
this.query = query;
}
public DefaultRelationalQuery setQuery(String query) {
this.query = query;
return this;
}
@Override
public void findEach(Consumer<SqlRow> consumer) {
server.findEach(this, consumer, null);
@@ -64,6 +59,11 @@ public class DefaultRelationalQuery implements SpiSqlQuery {
return server.findList(this, null);
}
@Override
public <T> T findSingleAttribute(Class<T> cls) {
return server.findSingleAttribute(this, cls);
}
@Override
public SqlRow findOne() {
return server.findOne(this, null);