Interface AggregateListener

  • All Superinterfaces:
    java.io.Serializable
    All Known Subinterfaces:
    JDBCAggregateListener

    public interface AggregateListener
    extends java.io.Serializable
    An aggregate listener aggregates data produced by an ExpressionQuery.
    Author:
    Abe White, Patrick Linskey
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.Object evaluate​(java.util.Collection args, java.lang.Class[] argClasses, java.util.Collection candidates, StoreContext ctx)
      Return the value of this aggregate.
      boolean expectsArguments()
      Return whether this function expects to act on arguments.
      java.lang.String getTag()
      Return the tag that this listener listens for.
      java.lang.Class getType​(java.lang.Class[] argClasses)
      Return the expected type of the result of this listener.
    • Method Detail

      • getTag

        java.lang.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

        java.lang.Object evaluate​(java.util.Collection args,
                                  java.lang.Class[] argClasses,
                                  java.util.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

        java.lang.Class getType​(java.lang.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