package squill.builder;
import java.util.List;
import squill.callback.ResultCallback;
import squill.db.Database;
import squill.query.QueryContext;
import squill.query.select.SelectExpression;
import squill.tuple.Tuple10;
import squill.tuple.Tuple2;
import squill.tuple.Tuple3;
import squill.tuple.Tuple4;
import squill.tuple.Tuple5;
import squill.tuple.Tuple6;
import squill.tuple.Tuple7;
import squill.tuple.Tuple8;
import squill.tuple.Tuple9;
@SuppressWarnings("unchecked")
public class OrderByBuilder extends BaseOrderByBuilder {
protected OrderByBuilder(QueryContext ctx, Database database) {
super(ctx, database);
}
/**
* Select 2 value(s) as single object (not a list)
*/
public <F1, F2> Tuple2<F1, F2> select(SelectExpression<F1> select1, SelectExpression<F2> select2) {
return (Tuple2<F1, F2>) queryTuple(Tuple2.class, select1, select2);
}
/**
* Select 2 value(s) as a list
*/
public <F1, F2> List<Tuple2<F1, F2>> selectList(SelectExpression<F1> select1, SelectExpression<F2> select2) {
return (List<Tuple2<F1, F2>>) queryTuples(Tuple2.class, select1, select2);
}
public <F1, F2, R> List<R> selectCallback(SelectExpression<F1> select1, SelectExpression<F2> select2, final ResultCallback<Tuple2<F1, F2>, R> callback) {
final ResultCallback<Tuple2, R> resultCallback = (ResultCallback<Tuple2, R>) (Object) callback;
return queryCallback(Tuple2.class, resultCallback, select1, select2);
}
public <F1, F2> ResultBuilder<Tuple2<F1, F2>> selectAs(SelectExpression<F1> select1, SelectExpression<F2> select2) {
addSelects(select1, select2);
return new ResultBuilder<Tuple2<F1, F2>>(this, Tuple2.class);
}
/**
* Select 3 value(s) as single object (not a list)
*/
public <F1, F2, F3> Tuple3<F1, F2, F3> select(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3) {
return (Tuple3<F1, F2, F3>) queryTuple(Tuple3.class, select1, select2, select3);
}
/**
* Select 3 value(s) as a list
*/
public <F1, F2, F3> List<Tuple3<F1, F2, F3>> selectList(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3) {
return (List<Tuple3<F1, F2, F3>>) queryTuples(Tuple3.class, select1, select2, select3);
}
public <F1, F2, F3, R> List<R> selectCallback(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, final ResultCallback<Tuple3<F1, F2, F3>, R> callback) {
final ResultCallback<Tuple3, R> resultCallback = (ResultCallback<Tuple3, R>) (Object) callback;
return queryCallback(Tuple3.class, resultCallback, select1, select2, select3);
}
public <F1, F2, F3> ResultBuilder<Tuple3<F1, F2, F3>> selectAs(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3) {
addSelects(select1, select2, select3);
return new ResultBuilder<Tuple3<F1, F2, F3>>(this, Tuple3.class);
}
/**
* Select 4 value(s) as single object (not a list)
*/
public <F1, F2, F3, F4> Tuple4<F1, F2, F3, F4> select(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4) {
return (Tuple4<F1, F2, F3, F4>) queryTuple(Tuple4.class, select1, select2, select3, select4);
}
/**
* Select 4 value(s) as a list
*/
public <F1, F2, F3, F4> List<Tuple4<F1, F2, F3, F4>> selectList(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4) {
return (List<Tuple4<F1, F2, F3, F4>>) queryTuples(Tuple4.class, select1, select2, select3, select4);
}
public <F1, F2, F3, F4, R> List<R> selectCallback(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, final ResultCallback<Tuple4<F1, F2, F3, F4>, R> callback) {
final ResultCallback<Tuple4, R> resultCallback = (ResultCallback<Tuple4, R>) (Object) callback;
return queryCallback(Tuple4.class, resultCallback, select1, select2, select3, select4);
}
public <F1, F2, F3, F4> ResultBuilder<Tuple4<F1, F2, F3, F4>> selectAs(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4) {
addSelects(select1, select2, select3, select4);
return new ResultBuilder<Tuple4<F1, F2, F3, F4>>(this, Tuple4.class);
}
/**
* Select 5 value(s) as single object (not a list)
*/
public <F1, F2, F3, F4, F5> Tuple5<F1, F2, F3, F4, F5> select(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5) {
return (Tuple5<F1, F2, F3, F4, F5>) queryTuple(Tuple5.class, select1, select2, select3, select4, select5);
}
/**
* Select 5 value(s) as a list
*/
public <F1, F2, F3, F4, F5> List<Tuple5<F1, F2, F3, F4, F5>> selectList(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5) {
return (List<Tuple5<F1, F2, F3, F4, F5>>) queryTuples(Tuple5.class, select1, select2, select3, select4, select5);
}
public <F1, F2, F3, F4, F5, R> List<R> selectCallback(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, final ResultCallback<Tuple5<F1, F2, F3, F4, F5>, R> callback) {
final ResultCallback<Tuple5, R> resultCallback = (ResultCallback<Tuple5, R>) (Object) callback;
return queryCallback(Tuple5.class, resultCallback, select1, select2, select3, select4, select5);
}
public <F1, F2, F3, F4, F5> ResultBuilder<Tuple5<F1, F2, F3, F4, F5>> selectAs(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5) {
addSelects(select1, select2, select3, select4, select5);
return new ResultBuilder<Tuple5<F1, F2, F3, F4, F5>>(this, Tuple5.class);
}
/**
* Select 6 value(s) as single object (not a list)
*/
public <F1, F2, F3, F4, F5, F6> Tuple6<F1, F2, F3, F4, F5, F6> select(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6) {
return (Tuple6<F1, F2, F3, F4, F5, F6>) queryTuple(Tuple6.class, select1, select2, select3, select4, select5, select6);
}
/**
* Select 6 value(s) as a list
*/
public <F1, F2, F3, F4, F5, F6> List<Tuple6<F1, F2, F3, F4, F5, F6>> selectList(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6) {
return (List<Tuple6<F1, F2, F3, F4, F5, F6>>) queryTuples(Tuple6.class, select1, select2, select3, select4, select5, select6);
}
public <F1, F2, F3, F4, F5, F6, R> List<R> selectCallback(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, final ResultCallback<Tuple6<F1, F2, F3, F4, F5, F6>, R> callback) {
final ResultCallback<Tuple6, R> resultCallback = (ResultCallback<Tuple6, R>) (Object) callback;
return queryCallback(Tuple6.class, resultCallback, select1, select2, select3, select4, select5, select6);
}
public <F1, F2, F3, F4, F5, F6> ResultBuilder<Tuple6<F1, F2, F3, F4, F5, F6>> selectAs(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6) {
addSelects(select1, select2, select3, select4, select5, select6);
return new ResultBuilder<Tuple6<F1, F2, F3, F4, F5, F6>>(this, Tuple6.class);
}
/**
* Select 7 value(s) as single object (not a list)
*/
public <F1, F2, F3, F4, F5, F6, F7> Tuple7<F1, F2, F3, F4, F5, F6, F7> select(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7) {
return (Tuple7<F1, F2, F3, F4, F5, F6, F7>) queryTuple(Tuple7.class, select1, select2, select3, select4, select5, select6, select7);
}
/**
* Select 7 value(s) as a list
*/
public <F1, F2, F3, F4, F5, F6, F7> List<Tuple7<F1, F2, F3, F4, F5, F6, F7>> selectList(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7) {
return (List<Tuple7<F1, F2, F3, F4, F5, F6, F7>>) queryTuples(Tuple7.class, select1, select2, select3, select4, select5, select6, select7);
}
public <F1, F2, F3, F4, F5, F6, F7, R> List<R> selectCallback(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, final ResultCallback<Tuple7<F1, F2, F3, F4, F5, F6, F7>, R> callback) {
final ResultCallback<Tuple7, R> resultCallback = (ResultCallback<Tuple7, R>) (Object) callback;
return queryCallback(Tuple7.class, resultCallback, select1, select2, select3, select4, select5, select6, select7);
}
public <F1, F2, F3, F4, F5, F6, F7> ResultBuilder<Tuple7<F1, F2, F3, F4, F5, F6, F7>> selectAs(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7) {
addSelects(select1, select2, select3, select4, select5, select6, select7);
return new ResultBuilder<Tuple7<F1, F2, F3, F4, F5, F6, F7>>(this, Tuple7.class);
}
/**
* Select 8 value(s) as single object (not a list)
*/
public <F1, F2, F3, F4, F5, F6, F7, F8> Tuple8<F1, F2, F3, F4, F5, F6, F7, F8> select(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8) {
return (Tuple8<F1, F2, F3, F4, F5, F6, F7, F8>) queryTuple(Tuple8.class, select1, select2, select3, select4, select5, select6, select7, select8);
}
/**
* Select 8 value(s) as a list
*/
public <F1, F2, F3, F4, F5, F6, F7, F8> List<Tuple8<F1, F2, F3, F4, F5, F6, F7, F8>> selectList(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8) {
return (List<Tuple8<F1, F2, F3, F4, F5, F6, F7, F8>>) queryTuples(Tuple8.class, select1, select2, select3, select4, select5, select6, select7, select8);
}
public <F1, F2, F3, F4, F5, F6, F7, F8, R> List<R> selectCallback(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8, final ResultCallback<Tuple8<F1, F2, F3, F4, F5, F6, F7, F8>, R> callback) {
final ResultCallback<Tuple8, R> resultCallback = (ResultCallback<Tuple8, R>) (Object) callback;
return queryCallback(Tuple8.class, resultCallback, select1, select2, select3, select4, select5, select6, select7, select8);
}
public <F1, F2, F3, F4, F5, F6, F7, F8> ResultBuilder<Tuple8<F1, F2, F3, F4, F5, F6, F7, F8>> selectAs(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8) {
addSelects(select1, select2, select3, select4, select5, select6, select7, select8);
return new ResultBuilder<Tuple8<F1, F2, F3, F4, F5, F6, F7, F8>>(this, Tuple8.class);
}
/**
* Select 9 value(s) as single object (not a list)
*/
public <F1, F2, F3, F4, F5, F6, F7, F8, F9> Tuple9<F1, F2, F3, F4, F5, F6, F7, F8, F9> select(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8, SelectExpression<F9> select9) {
return (Tuple9<F1, F2, F3, F4, F5, F6, F7, F8, F9>) queryTuple(Tuple9.class, select1, select2, select3, select4, select5, select6, select7, select8, select9);
}
/**
* Select 9 value(s) as a list
*/
public <F1, F2, F3, F4, F5, F6, F7, F8, F9> List<Tuple9<F1, F2, F3, F4, F5, F6, F7, F8, F9>> selectList(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8, SelectExpression<F9> select9) {
return (List<Tuple9<F1, F2, F3, F4, F5, F6, F7, F8, F9>>) queryTuples(Tuple9.class, select1, select2, select3, select4, select5, select6, select7, select8, select9);
}
public <F1, F2, F3, F4, F5, F6, F7, F8, F9, R> List<R> selectCallback(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8, SelectExpression<F9> select9, final ResultCallback<Tuple9<F1, F2, F3, F4, F5, F6, F7, F8, F9>, R> callback) {
final ResultCallback<Tuple9, R> resultCallback = (ResultCallback<Tuple9, R>) (Object) callback;
return queryCallback(Tuple9.class, resultCallback, select1, select2, select3, select4, select5, select6, select7, select8, select9);
}
public <F1, F2, F3, F4, F5, F6, F7, F8, F9> ResultBuilder<Tuple9<F1, F2, F3, F4, F5, F6, F7, F8, F9>> selectAs(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8, SelectExpression<F9> select9) {
addSelects(select1, select2, select3, select4, select5, select6, select7, select8, select9);
return new ResultBuilder<Tuple9<F1, F2, F3, F4, F5, F6, F7, F8, F9>>(this, Tuple9.class);
}
/**
* Select 10 value(s) as single object (not a list)
*/
public <F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> Tuple10<F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> select(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8, SelectExpression<F9> select9, SelectExpression<F10> select10) {
return (Tuple10<F1, F2, F3, F4, F5, F6, F7, F8, F9, F10>) queryTuple(Tuple10.class, select1, select2, select3, select4, select5, select6, select7, select8, select9, select10);
}
/**
* Select 10 value(s) as a list
*/
public <F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> List<Tuple10<F1, F2, F3, F4, F5, F6, F7, F8, F9, F10>> selectList(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8, SelectExpression<F9> select9, SelectExpression<F10> select10) {
return (List<Tuple10<F1, F2, F3, F4, F5, F6, F7, F8, F9, F10>>) queryTuples(Tuple10.class, select1, select2, select3, select4, select5, select6, select7, select8, select9, select10);
}
public <F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, R> List<R> selectCallback(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8, SelectExpression<F9> select9, SelectExpression<F10> select10, final ResultCallback<Tuple10<F1, F2, F3, F4, F5, F6, F7, F8, F9, F10>, R> callback) {
final ResultCallback<Tuple10, R> resultCallback = (ResultCallback<Tuple10, R>) (Object) callback;
return queryCallback(Tuple10.class, resultCallback, select1, select2, select3, select4, select5, select6, select7, select8, select9, select10);
}
public <F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> ResultBuilder<Tuple10<F1, F2, F3, F4, F5, F6, F7, F8, F9, F10>> selectAs(SelectExpression<F1> select1, SelectExpression<F2> select2, SelectExpression<F3> select3, SelectExpression<F4> select4, SelectExpression<F5> select5, SelectExpression<F6> select6, SelectExpression<F7> select7, SelectExpression<F8> select8, SelectExpression<F9> select9, SelectExpression<F10> select10) {
addSelects(select1, select2, select3, select4, select5, select6, select7, select8, select9, select10);
return new ResultBuilder<Tuple10<F1, F2, F3, F4, F5, F6, F7, F8, F9, F10>>(this, Tuple10.class);
}
}