Package org.geotools.filter
Class ConstantExpression
- Object
-
- ConstantExpression
-
- All Implemented Interfaces:
Cloneable,Expression,Literal
- Direct Known Subclasses:
OverlapBehaviorImpl
public class ConstantExpression extends Object implements Literal, Cloneable
The Expression class is not immutable!However we do have a need for immutable literal expressions when defining our API for SLD, and any other standards based on Expression.
- Author:
- Jody Garnett, Refractions Research
-
-
Field Summary
Fields Modifier and Type Field Description static ConstantExpressionBLACKstatic ConstantExpressionNULLstatic ConstantExpressionONEstatic ConstantExpressionTWOstatic ConstantExpressionUNNAMEDstatic ConstantExpressionZERO-
Fields inherited from interface Expression
NIL
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedConstantExpression(short type, Object value)protectedConstantExpression(Object value)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectaccept(ExpressionVisitor visitor, Object extraData)Accepts a visitor.protected Objectclone()static ConstantExpressioncolor(Color color)Encode provided color as a Stringstatic ConstantExpressionconstant(double number)static ConstantExpressionconstant(int number)static ConstantExpressionconstant(Object value)booleanequals(Object obj)Objectevaluate(Object object)Evaluates the given expression based on the content of the given object.<T> Tevaluate(Object object, Class<T> context)Evaluates the given expressoin based on the content of the given object and the context type.ObjectgetValue()Returns the constant value held by this object.inthashCode()voidsetValue(Object constant)StringtoString()
-
-
-
Field Detail
-
NULL
public static final ConstantExpression NULL
-
BLACK
public static final ConstantExpression BLACK
-
ZERO
public static final ConstantExpression ZERO
-
ONE
public static final ConstantExpression ONE
-
TWO
public static final ConstantExpression TWO
-
UNNAMED
public static final ConstantExpression UNNAMED
-
-
Method Detail
-
evaluate
public Object evaluate(Object object)
Description copied from interface:ExpressionEvaluates the given expression based on the content of the given object.- Specified by:
evaluatein interfaceExpression- Returns:
- computed value
-
evaluate
public <T> T evaluate(Object object, Class<T> context)
Description copied from interface:ExpressionEvaluates the given expressoin based on the content of the given object and the context type.The
contextparameter is used to control the type of the result of the expression. A particular expression may not be able to evaluate to an instance ofcontext. Therefore to be safe calling code should do a null check on the return value of this method, and callExpression.evaluate(Object)if neccessary. Example:Object input = ...; String result = expression.evaluate( input, String.class ); if ( result == null ) { result = expression.evalute( input ).toString(); } ...Implementations that can not return a result as an instance of
contextshould returnnull.- Specified by:
evaluatein interfaceExpression- Type Parameters:
T- The type of the returned object.- Parameters:
object- The object to evaluate the expression against.context- The type of the resulting value of the expression.- Returns:
- Evaluates the given expression based on the content of the given object an an instance of
context.
-
getValue
public Object getValue()
Description copied from interface:LiteralReturns the constant value held by this object.
-
setValue
public void setValue(Object constant)
-
accept
public Object accept(ExpressionVisitor visitor, Object extraData)
Description copied from interface:ExpressionAccepts a visitor. Subclasses must implement with a method whose content is the following:return visitor.visit(this, extraData);
- Specified by:
acceptin interfaceExpression
-
clone
protected Object clone() throws CloneNotSupportedException
- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-
color
public static ConstantExpression color(Color color)
Encode provided color as a String
-
constant
public static ConstantExpression constant(double number)
-
constant
public static ConstantExpression constant(int number)
-
constant
public static ConstantExpression constant(Object value)
-
-