com.github.paganini2008.devtools.beans.streaming.Selectable Maven / Gradle / Ivy
package com.github.paganini2008.devtools.beans.streaming;
import java.util.function.Function;
import java.util.function.Predicate;
import com.github.paganini2008.devtools.jdbc.ResultSetSlice;
/**
*
* Selectable
*
* @author Fred Feng
*
* @version 1.0
*/
public interface Selectable extends ResultSetSlice {
Selectable filter(Predicate predicate);
Selectable orderBy(Sort sort);
Selectable distinct();
Groupable groupBy(Function function, String alias);
default Groupable groupBy(String attributeName, Class requiredType) {
return groupBy(Property.forName(attributeName, requiredType), attributeName);
}
ResultSetSlice setTransformer(Transformer transformer);
}