db.sql.api.cmd.executor.method.ISelectMethod Maven / Gradle / Ivy
package db.sql.api.cmd.executor.method;
import db.sql.api.Cmd;
import db.sql.api.Getter;
import db.sql.api.cmd.basic.*;
import db.sql.api.cmd.executor.method.selectMethod.ISelectMethods;
public interface ISelectMethod, TABLE_FIELD extends ITableField,
COLUMN extends Cmd>
extends ISelectMethods {
SELF selectDistinct();
default SELF select1() {
this.select((COLUMN) SQL1.INSTANCE);
return (SELF) this;
}
default SELF selectAll() {
this.select((COLUMN) SQLCmdAll.INSTANCE);
return (SELF) this;
}
default SELF selectAll(IDataset, ?> dataset) {
this.select((COLUMN) new SQLCmdAll(dataset));
return (SELF) this;
}
SELF selectCount1();
SELF selectCountAll();
default SELF select(Class entity) {
return this.select(entity, 1);
}
SELF select(Class entity, int storey);
default SELF select(Class... entities) {
return this.select(1, entities);
}
default SELF select(int storey, Class... entities) {
for (Class entity : entities) {
this.select(entity, storey);
}
return (SELF) this;
}
default SELF selectIgnore(Getter column) {
return this.selectIgnore(column, 1);
}
SELF selectIgnore(Getter column, int storey);
default SELF selectIgnore(Getter... columns) {
return this.selectIgnore(1, columns);
}
default SELF selectIgnore(int storey, Getter... columns) {
for (Getter column : columns) {
this.selectIgnore(column, storey);
}
return (SELF) this;
}
}