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

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);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy