com.mysema.query.group
Class GroupBy<S>

java.lang.Object
  extended by com.mysema.query.group.GroupBy<S>
All Implemented Interfaces:
ResultTransformer<Map<S,Group>>

public class GroupBy<S>
extends Object
implements ResultTransformer<Map<S,Group>>

Groups results by the first expression.

  1. Order of groups by position of the first row of a group
  2. Rows belonging to a group may appear in any order
  3. Group of null is handled correctly

Author:
sasa

Field Summary
protected  List<GroupColumnDefinition<?,?>> columnDefinitions
           
 
Constructor Summary
  GroupBy(Expression<S> groupBy)
           
  GroupBy(Expression<S> groupBy, Expression<?> first, Expression<?>... rest)
           
  GroupBy(Expression<S> groupBy, GroupColumnDefinition<?,?> group, GroupColumnDefinition<?,?>... groups)
           
protected GroupBy(List<GroupColumnDefinition<?,?>> columnDefinitions, List<QPair<?,?>> maps)
           
 
Method Summary
static
<T> GroupBy<T>
create(Expression<T> expr)
           
static
<T> GroupBy<T>
create(Expression<T> expr, Expression<?> first, Expression<?>... rest)
           
 List<GroupColumnDefinition<?,?>> getColumnDefinitions()
           
<O> O
process(Projectable projectable, GroupProcessor<S,O> processor)
           
 Map<S,Group> transform(Projectable projectable)
           
 GroupBy<S> withGroup(GroupColumnDefinition<?,?> g)
           
<T> GroupBy<S>
withList(Expression<T> expr)
           
<K,V> GroupBy<S>
withMap(Expression<K> key, Expression<V> value)
           
<T> GroupBy<S>
withOne(Expression<T> expr)
           
<O> ProcessorGroupBy<S,O>
withProcessor(GroupProcessor<S,O> processor)
           
<O> ProcessorGroupBy<S,O>
withProcessor(GroupProcessorFactory<S,O> processorFactory)
           
<T> GroupBy<S>
withSet(Expression<T> expr)
           
<W> ProcessorGroupBy<S,W>
withTransformer(org.apache.commons.collections15.Transformer<Map<S,Group>,W> transformer)
           
<W> ProcessorGroupBy<S,Map<S,W>>
withValueTransformer(org.apache.commons.collections15.Transformer<? super Group,? extends W> transformer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

columnDefinitions

protected final List<GroupColumnDefinition<?,?>> columnDefinitions
Constructor Detail

GroupBy

public GroupBy(Expression<S> groupBy)

GroupBy

public GroupBy(Expression<S> groupBy,
               Expression<?> first,
               Expression<?>... rest)

GroupBy

public GroupBy(Expression<S> groupBy,
               GroupColumnDefinition<?,?> group,
               GroupColumnDefinition<?,?>... groups)

GroupBy

protected GroupBy(List<GroupColumnDefinition<?,?>> columnDefinitions,
                  List<QPair<?,?>> maps)
Method Detail

create

public static <T> GroupBy<T> create(Expression<T> expr)

create

public static <T> GroupBy<T> create(Expression<T> expr,
                                    Expression<?> first,
                                    Expression<?>... rest)

getColumnDefinitions

public List<GroupColumnDefinition<?,?>> getColumnDefinitions()

process

public <O> O process(Projectable projectable,
                     GroupProcessor<S,O> processor)

transform

public Map<S,Group> transform(Projectable projectable)
Specified by:
transform in interface ResultTransformer<Map<S,Group>>

withGroup

public GroupBy<S> withGroup(GroupColumnDefinition<?,?> g)

withList

public <T> GroupBy<S> withList(Expression<T> expr)

withMap

public <K,V> GroupBy<S> withMap(Expression<K> key,
                                Expression<V> value)

withOne

public <T> GroupBy<S> withOne(Expression<T> expr)

withProcessor

public <O> ProcessorGroupBy<S,O> withProcessor(GroupProcessorFactory<S,O> processorFactory)

withProcessor

public <O> ProcessorGroupBy<S,O> withProcessor(GroupProcessor<S,O> processor)

withSet

public <T> GroupBy<S> withSet(Expression<T> expr)

withTransformer

public <W> ProcessorGroupBy<S,W> withTransformer(org.apache.commons.collections15.Transformer<Map<S,Group>,W> transformer)

withValueTransformer

public <W> ProcessorGroupBy<S,Map<S,W>> withValueTransformer(org.apache.commons.collections15.Transformer<? super Group,? extends W> transformer)


Copyright © 2007-2011 Mysema Ltd. All Rights Reserved.