Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.3.5 generated on August 31 2005
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.3.5 generated on August 31 2005
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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