db.sql.api.cmd.executor.method.groupByMethod.IGroupByMultiGetterMethod Maven / Gradle / Ivy
package db.sql.api.cmd.executor.method.groupByMethod;
import db.sql.api.Cmd;
import db.sql.api.Getter;
import db.sql.api.cmd.GetterField;
import db.sql.api.cmd.basic.ITable;
import db.sql.api.cmd.basic.ITableField;
import java.util.function.Function;
public interface IGroupByMultiGetterMethod, TABLE_FIELD extends ITableField> {
default SELF groupBy(Getter... columns) {
return this.groupBy(1, columns);
}
SELF groupBy(int storey, Getter... columns);
default SELF groupBy(boolean when, Getter... columns) {
if (!when) {
return (SELF) this;
}
return this.groupBy(1, columns);
}
default SELF groupBy(boolean when, int storey, Getter... columns) {
if (!when) {
return (SELF) this;
}
return this.groupBy(storey, columns);
}
//---
SELF groupBy(GetterField[] getterFields, Function f);
default SELF groupBy(boolean when, GetterField[] getterFields, Function f) {
if (!when) {
return (SELF) this;
}
return this.groupBy(getterFields, f);
}
}