org.apache.openjpa.kernel.exps
Interface AggregateListener

All Superinterfaces:
Serializable
All Known Subinterfaces:
JDBCAggregateListener

public interface AggregateListener
extends Serializable

An aggregate listener aggregates data produced by an ExpressionQuery.

Author:
Abe White, Patrick Linskey

Method Summary
 Object evaluate(Collection args, Class[] argClasses, Collection candidates, StoreContext ctx)
          Return the value of this aggregate.
 boolean expectsArguments()
          Return whether this function expects to act on arguments.
 String getTag()
          Return the tag that this listener listens for.
 Class getType(Class[] argClasses)
          Return the expected type of the result of this listener.
 

Method Detail

getTag

String getTag()
Return the tag that this listener listens for.


expectsArguments

boolean expectsArguments()
Return whether this function expects to act on arguments. Some function may not need arguments; for example, a function to count the number of objects that match a given filter might be of the form: count().


evaluate

Object evaluate(Collection args,
                Class[] argClasses,
                Collection candidates,
                StoreContext ctx)
Return the value of this aggregate.

Parameters:
args - for each candidate, the value of the arguments to the function; will be null if this aggregate does not expect an argument; if this function has multiple arguments, each element will be an array
argClasses - the expected class of each argument element
candidates - the candidate objects being evaluated
ctx - the persistence context
Returns:
the value of the aggregate
Throws:
UserException - if this aggregate does not support in-memory operation

getType

Class getType(Class[] argClasses)
Return the expected type of the result of this listener.

Parameters:
argClasses - the expected classes of the argument, or null if no arguments


Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.