SolarMetric Kodo JDO 3.3.5 generated on August 31 2005

kodo.query
Interface FilterListener

All Superinterfaces:
Serializable
All Known Subinterfaces:
JDBCFilterListener

public interface FilterListener
extends Serializable

A filter listener extends JDOQL filters with custom functionality.


Method Summary
 Object evaluate(Object target, Class targetClass, Object[] args, Class[] argClasses, Object candidate, KodoPersistenceManager pm)
          Evaluate the given expression.
 boolean expectsArguments()
          Return true if this extension expects arguments to act on.
 boolean expectsTarget()
          Return true if this extension expects a target to act on.
 String getTag()
          Return the tag that this extension listens for.
 Class getType(Class targetClass, Class[] argClasses)
          Return the expected type of the result of this listener.
 

Method Detail

getTag

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

expectsArguments

public boolean expectsArguments()
Return true if this extension expects arguments to act on. Some extensions may not need arguments; for example, an extension to switch a string to upper case might be of the form: field.ext:toUpperCase ().

expectsTarget

public boolean expectsTarget()
Return true if this extension expects a target to act on. Some extensions act on a field or object value; others stand alone. field.ext:toUpperCase () acts on the target field but has no arguments, while another possible form, ext:toUpperCase (field) has no target but does have an argument.

evaluate

public Object evaluate(Object target,
                       Class targetClass,
                       Object[] args,
                       Class[] argClasses,
                       Object candidate,
                       KodoPersistenceManager pm)
Evaluate the given expression. This method is used when evaluating in-memory expressions. The method used when evaluating data store expressions will change depending on the data store in use.
Parameters:
target - the target object / field value to act on; will be null if this extension does not expect a target
targetClass - the expected class of the target; given in case the target evaluates to null and typing is needed
args - the values of the arguments given in the filter; will be null if this extension does not expect an argument
argClasses - the expected classes of the arguments; given in case an argument evaluates to null and typing is needed
candidate - the candidate object being evaluated
pm - a persistence manager to use if needed
Returns:
the value of the extension for this candidate; if this extension is an expression, this method should return Boolean.TRUE or Boolean.FALSE
Throws:
JDOUserException - if this extension does not support in-memory operation

getType

public Class getType(Class targetClass,
                     Class[] argClasses)
Return the expected type of the result of this listener.
Parameters:
targetClass - the expected class of the target, or null if no target
argClasses - the expected classes of the arguments, or null if no arguments

SolarMetric Kodo JDO 3.3.5 generated on August 31 2005

Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.