001package net.sf.jkniv.whinstone.classification;
002
003import java.sql.ResultSet;
004import java.util.Collection;
005import java.util.List;
006import java.util.Set;
007
008/**
009 * Create group of objects with a tabular result {@code <R>}.
010 *
011 * @param <T> type of grouped objects
012 * @param <R> The driver result of a query like {@link ResultSet}
013 * 
014 * @author Alisson Gomes
015 *
016 * @since 0.6.0
017 */
018public interface Groupable<T, R>
019{
020    
021    void classifier(R row);
022    
023    Collection<T> asCollection();
024    
025    List<T> asList();
026    
027    Set<T> asSet();
028    
029}