All Downloads are FREE. Search and download functionalities are using the official Maven repository.

db.sql.api.cmd.executor.method.groupByMethod.IGroupByMultiGetterMethod Maven / Gradle / Ivy

There is a newer version: 1.7.6-RC2
Show newest version
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);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy