db.sql.api.cmd.executor.method.havingMethod.IHavingOrMethod 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 IHavingOrMethod, TABLE_FIELD extends ITableField> {
SELF havingOr(ICondition condition);
default SELF havingOr(ICondition condition, boolean when) {
if (!when) {
return (SELF) this;
}
return this.havingOr(condition);
}
//---
default SELF havingOr(Getter column, Function f) {
return this.havingOr(true, column, f);
}
default SELF havingOr(boolean when, Getter column, Function f) {
return this.havingOr(when, column, 1, f);
}
default SELF havingOr(Getter column, int storey, Function f) {
return this.havingOr(true, column, storey, f);
}
SELF havingOr(boolean when, Getter column, int storey, Function f);
default SELF havingOr(GetterField[] getterFields, Function f) {
return this.havingOr(true, getterFields, f);
}
SELF havingOr(boolean when, GetterField[] getterFields, Function f);
}