org.apache.openjpa.kernel.exps
Class Aggregate

java.lang.Object
  extended by org.apache.openjpa.kernel.exps.Val
      extended by org.apache.openjpa.kernel.exps.Aggregate
All Implemented Interfaces:
Serializable, Value

 class Aggregate
extends Val

A value produced from evaluating a result aggregate.

Author:
Abe White

Constructor Summary
Aggregate(AggregateListener listener, Val arg)
          Constructor.
 
Method Summary
 void acceptVisit(ExpressionVisitor visitor)
          Accept a visit from a tree visitor.
protected  Collection eval(Collection candidates, Object orig, StoreContext ctx, Object[] params)
          Return a list of values resulting from evaluating each given candidate.
protected  Object eval(Object candidate, Object orig, StoreContext ctx, Object[] params)
          Return this value for the given candidate.
 Class getType()
          Return the expected type for this value, or Object if the type is unknown.
 boolean isAggregate()
          Return true if this value is an aggregate.
 void setImplicitType(Class type)
          Set the implicit type of the value, based on how it is used in the filter.
 
Methods inherited from class org.apache.openjpa.kernel.exps.Val
evaluate, evaluate, getAlias, getMetaData, getName, getPath, getSelectAs, isVariable, isXPath, setAlias, setMetaData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Aggregate

public Aggregate(AggregateListener listener,
                 Val arg)
Constructor. Supply aggregate listener and its argument value, if any.

Method Detail

isAggregate

public boolean isAggregate()
Description copied from interface: Value
Return true if this value is an aggregate.

Specified by:
isAggregate in interface Value
Overrides:
isAggregate in class Val

getType

public Class getType()
Description copied from interface: Value
Return the expected type for this value, or Object if the type is unknown.


setImplicitType

public void setImplicitType(Class type)
Description copied from interface: Value
Set the implicit type of the value, based on how it is used in the filter. This method is only called on values who return Object from Value.getType().


eval

protected Object eval(Object candidate,
                      Object orig,
                      StoreContext ctx,
                      Object[] params)
Description copied from class: Val
Return this value for the given candidate.

Specified by:
eval in class Val

eval

protected Collection eval(Collection candidates,
                          Object orig,
                          StoreContext ctx,
                          Object[] params)
Description copied from class: Val
Return a list of values resulting from evaluating each given candidate. By default, this implementation invokes #eval(Object,Object,StoreContext,Map) for each instance and packs the return value into a new list. Aggregates should override.

Overrides:
eval in class Val

acceptVisit

public void acceptVisit(ExpressionVisitor visitor)
Description copied from interface: Value
Accept a visit from a tree visitor.

Specified by:
acceptVisit in interface Value
Overrides:
acceptVisit in class Val


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