com.mysema.query.group
Class GroupBy<K,V>

java.lang.Object
  extended by com.mysema.query.group.GroupBy<K,V>
All Implemented Interfaces:
ResultTransformer<Map<K,V>>
Direct Known Subclasses:
GroupByProjection

public class GroupBy<K,V>
extends Object
implements ResultTransformer<Map<K,V>>

Groups results by the first expression.

Author:
sasa, tiwe

Field Summary
protected  Expression<?>[] expressions
           
protected  List<GroupExpression<?,?>> groupExpressions
           
protected  List<QPair<?,?>> maps
           
 
Method Summary
static
<E extends Number & Comparable<E>>
AbstractGroupExpression<?,E>
avg(Expression<E> expression)
          Create a new aggregating avg expression
static
<K> GroupByBuilder<K>
groupBy(Expression<K> key)
          Create a new GroupByBuilder for the given key expression
static
<E> AbstractGroupExpression<?,List<E>>
list(Expression<E> expression)
          Create a new aggregating list expression
static
<K,V> Expression<Map<K,V>>
map(Expression<K> key, Expression<V> value)
          Create a new aggregating map expression
static
<E extends Comparable<E>>
AbstractGroupExpression<?,E>
max(Expression<E> expression)
          Create a new aggregating max expression
static
<E extends Comparable<E>>
AbstractGroupExpression<?,E>
min(Expression<E> expression)
          Create a new aggregating min expression
static
<E> AbstractGroupExpression<?,Set<E>>
set(Expression<E> expression)
          Create a new aggregating set expression
static
<E extends Number & Comparable<E>>
AbstractGroupExpression<?,E>
sum(Expression<E> expression)
          Create a new aggregating sum expression
protected  Map<K,V> transform(Map<K,Group> groups)
           
 Map<K,V> transform(Projectable projectable)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

groupExpressions

protected final List<GroupExpression<?,?>> groupExpressions

maps

protected final List<QPair<?,?>> maps

expressions

protected final Expression<?>[] expressions
Method Detail

groupBy

public static <K> GroupByBuilder<K> groupBy(Expression<K> key)
Create a new GroupByBuilder for the given key expression

Parameters:
key -
Returns:

min

public static <E extends Comparable<E>> AbstractGroupExpression<?,E> min(Expression<E> expression)
Create a new aggregating min expression

Parameters:
expression -
Returns:

sum

public static <E extends Number & Comparable<E>> AbstractGroupExpression<?,E> sum(Expression<E> expression)
Create a new aggregating sum expression

Parameters:
expression -
Returns:

avg

public static <E extends Number & Comparable<E>> AbstractGroupExpression<?,E> avg(Expression<E> expression)
Create a new aggregating avg expression

Parameters:
expression -
Returns:

max

public static <E extends Comparable<E>> AbstractGroupExpression<?,E> max(Expression<E> expression)
Create a new aggregating max expression

Parameters:
expression -
Returns:

list

public static <E> AbstractGroupExpression<?,List<E>> list(Expression<E> expression)
Create a new aggregating list expression

Parameters:
expression -
Returns:

set

public static <E> AbstractGroupExpression<?,Set<E>> set(Expression<E> expression)
Create a new aggregating set expression

Parameters:
expression -
Returns:

map

public static <K,V> Expression<Map<K,V>> map(Expression<K> key,
                                             Expression<V> value)
Create a new aggregating map expression

Parameters:
key -
value -
Returns:

transform

public Map<K,V> transform(Projectable projectable)
Specified by:
transform in interface ResultTransformer<Map<K,V>>
Returns:

transform

protected Map<K,V> transform(Map<K,Group> groups)


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