org.geotools.filter
Class FallbackFunction

java.lang.Object
  extended by org.geotools.filter.expression.ExpressionAbstract
      extended by org.geotools.filter.DefaultExpression
          extended by org.geotools.filter.FunctionExpressionImpl
              extended by org.geotools.filter.FallbackFunction
All Implemented Interfaces:
Factory, ExpressionType, FunctionExpression, org.opengis.filter.expression.Expression, org.opengis.filter.expression.Function

public class FallbackFunction
extends FunctionExpressionImpl

A placeholder class used to track a function the user requested that is not supported by our java implementation.

This can be used to construct expressions that are to be executed by another systems (say as SQL or as a WFS request).

Author:
Jody Garnett

Field Summary
 
Fields inherited from class org.geotools.filter.FunctionExpressionImpl
fallback, name, params
 
Fields inherited from class org.geotools.filter.DefaultExpression
expressionType, permissiveConstruction
 
Fields inherited from interface org.geotools.filter.ExpressionType
ATTRIBUTE, ATTRIBUTE_DOUBLE, ATTRIBUTE_GEOMETRY, ATTRIBUTE_INTEGER, ATTRIBUTE_STRING, ATTRIBUTE_UNDECLARED, FUNCTION, LITERAL_DOUBLE, LITERAL_GEOMETRY, LITERAL_INTEGER, LITERAL_LONG, LITERAL_STRING, LITERAL_UNDECLARED, MATH_ADD, MATH_DIVIDE, MATH_MULTIPLY, MATH_SUBTRACT
 
Fields inherited from interface org.opengis.filter.expression.Expression
NIL
 
Constructor Summary
protected FallbackFunction(java.lang.String name, java.util.List params, org.opengis.filter.expression.Literal fallback)
           
 
Method Summary
 java.lang.Object evaluate(java.lang.Object object)
          This method checks if the object is an instance of Feature and if so, calls through to #evaluate(Feature).
 java.lang.Object evaluate(java.lang.Object object, java.lang.Class context)
          Default implementation delegates handling of context conversion to Value utility class.
 int getArgCount()
          Gets the number of arguments that are set.
 
Methods inherited from class org.geotools.filter.FunctionExpressionImpl
accept, equals, getArgs, getExpression, getFallbackValue, getImplementationHints, getName, getParameters, getType, setArgs, setFallbackValue, setName, setParameters, toString
 
Methods inherited from class org.geotools.filter.DefaultExpression
accept, evaluate, getValue, isAttributeExpression, isExpression, isFunctionExpression, isGeometryExpression, isLiteralExpression, isMathExpression, isMathExpression
 
Methods inherited from class org.geotools.filter.expression.ExpressionAbstract
eval, eval
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.geotools.filter.Expression
accept, evaluate, getValue
 

Constructor Detail

FallbackFunction

protected FallbackFunction(java.lang.String name,
                           java.util.List params,
                           org.opengis.filter.expression.Literal fallback)
Method Detail

getArgCount

public int getArgCount()
Description copied from class: FunctionExpressionImpl
Gets the number of arguments that are set.

Specified by:
getArgCount in interface FunctionExpression
Specified by:
getArgCount in class FunctionExpressionImpl
Returns:
the number of args.

evaluate

public java.lang.Object evaluate(java.lang.Object object)
Description copied from class: DefaultExpression
This method checks if the object is an instance of Feature and if so, calls through to #evaluate(Feature). This is done to maintain backwards compatability with previous version of Expression api which depended on Feature. If the object is not an instance of feature the super implementation is called.

Specified by:
evaluate in interface org.opengis.filter.expression.Expression
Overrides:
evaluate in class DefaultExpression

evaluate

public java.lang.Object evaluate(java.lang.Object object,
                                 java.lang.Class context)
Description copied from class: ExpressionAbstract
Default implementation delegates handling of context conversion to Value utility class.

Subclasses are expected to make use of the Value utility class (as the easiest way to provide value morphing in confirmance with the Filter specification).

Specified by:
evaluate in interface org.opengis.filter.expression.Expression
Overrides:
evaluate in class ExpressionAbstract


Copyright © 1996-2010 Geotools. All Rights Reserved.