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 ConstantExpression
BLACK
static ConstantExpression
NULL
static ConstantExpression
ONE
static ConstantExpression
TWO
static ConstantExpression
UNNAMED
static ConstantExpression
ZERO
-
Fields inherited from interface Expression
NIL
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ConstantExpression(short type, Object value)
protected
ConstantExpression(Object value)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
accept(ExpressionVisitor visitor, Object extraData)
Accepts a visitor.protected Object
clone()
static ConstantExpression
color(Color color)
Encode provided color as a Stringstatic ConstantExpression
constant(double number)
static ConstantExpression
constant(int number)
static ConstantExpression
constant(Object value)
boolean
equals(Object obj)
Object
evaluate(Object object)
Evaluates the given expression based on the content of the given object.<T> T
evaluate(Object object, Class<T> context)
Evaluates the given expressoin based on the content of the given object and the context type.Object
getValue()
Returns the constant value held by this object.int
hashCode()
void
setValue(Object constant)
String
toString()
-
-
-
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:Expression
Evaluates the given expression based on the content of the given object.- Specified by:
evaluate
in interfaceExpression
- Returns:
- computed value
-
evaluate
public <T> T evaluate(Object object, Class<T> context)
Description copied from interface:Expression
Evaluates the given expressoin based on the content of the given object and the context type.The
context
parameter 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
context
should returnnull
.- Specified by:
evaluate
in 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:Literal
Returns 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:Expression
Accepts a visitor. Subclasses must implement with a method whose content is the following:return visitor.visit(this, extraData);
- Specified by:
accept
in interfaceExpression
-
clone
protected Object clone() throws CloneNotSupportedException
- Overrides:
clone
in 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)
-
-