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