org.geotools.filter
Class MathExpressionImpl

Object
  extended by ExpressionAbstract
      extended by DefaultExpression
          extended by MathExpressionImpl
All Implemented Interfaces:
ExpressionType, MathExpression, BinaryExpression, Expression
Direct Known Subclasses:
AddImpl, DivideImpl, MultiplyImpl, SubtractImpl

public abstract class MathExpressionImpl
extends DefaultExpression
implements MathExpression

Holds a mathematical relationship between two expressions. Note that the sub expressions must be math expressions. In other words, they must be a math literal, another math expression, or a feature attribute with a declared math type. You may create math expressions of arbitrary complexity by nesting other math expressions as sub expressions in one or more math expressions. This filter defines left and right values to clarify the sub expression precedence for non-associative operations, such as subtraction and division. For example, the left value is the numerator and the right is the denominator in an ExpressionMath division operation.

Author:
Rob Hranac, Vision for New York

Field Summary
 
Fields inherited from class DefaultExpression
expressionType, permissiveConstruction
 
Fields inherited from interface 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 Expression
NIL
 
Constructor Summary
protected MathExpressionImpl()
          No argument constructor.
protected MathExpressionImpl(Expression e1, Expression e2)
           
 
Method Summary
 void addLeftValue(Expression leftValue)
          Deprecated. use setExpression1(org.opengis.filter.expression.Expression)
 void addRightValue(Expression rightValue)
          Deprecated. use setExpression2(org.opengis.filter.expression.Expression)
protected  void ensureOperandsSet()
          Convenience method which ensures that both expressions have been set.
 Expression getExpression1()
          Gets the left or first expression.
 Expression getExpression2()
          Gets the second expression.
 Expression getLeftValue()
          Deprecated. use getExpression1().
 Expression getRightValue()
          Deprecated. use getExpression2().
 short getType()
          Gets the type of this expression.
protected  Object number(double number)
           
 void setExpression1(Expression expression)
          Gets the left or first expression.
 void setExpression2(Expression expression)
          Gets the second expression.
 
Methods inherited from class DefaultExpression
accept, evaluate, evaluate, getValue, isAttributeExpression, isExpression, isFunctionExpression, isGeometryExpression, isLiteralExpression, isMathExpression, isMathExpression
 
Methods inherited from class ExpressionAbstract
eval, eval, evaluate
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface MathExpression
getValue
 
Methods inherited from interface Expression
accept, evaluate
 
Methods inherited from interface Expression
accept, evaluate, evaluate
 

Constructor Detail

MathExpressionImpl

protected MathExpressionImpl()
No argument constructor.


MathExpressionImpl

protected MathExpressionImpl(Expression e1,
                             Expression e2)
Method Detail

addLeftValue

public final void addLeftValue(Expression leftValue)
                        throws IllegalFilterException
Deprecated. use setExpression1(org.opengis.filter.expression.Expression)

Adds the 'left' value to this expression.

Specified by:
addLeftValue in interface MathExpression
Parameters:
leftValue - Expression to add to this expression.
Throws:
IllegalFilterException - Attempting to add non-math expression.

addRightValue

public final void addRightValue(Expression rightValue)
                         throws IllegalFilterException
Deprecated. use setExpression2(org.opengis.filter.expression.Expression)

Adds the 'right' value to this expression.

Specified by:
addRightValue in interface MathExpression
Parameters:
rightValue - Expression to add to this expression.
Throws:
IllegalFilterException - Attempting to add non-math expression.

getLeftValue

public final Expression getLeftValue()
Deprecated. use getExpression1().

Gets the left or first expression.

Specified by:
getLeftValue in interface MathExpression
Returns:
the expression on the left of the comparison.

getExpression1

public Expression getExpression1()
Gets the left or first expression.

Specified by:
getExpression1 in interface BinaryExpression
Returns:
the expression on the first side of the comparison.

setExpression1

public void setExpression1(Expression expression)
Gets the left or first expression.

Throws:
IllegalFilterException

getRightValue

public final Expression getRightValue()
Deprecated. use getExpression2().

Gets the right expression.

Specified by:
getRightValue in interface MathExpression
Returns:
the expression on the right of the comparison.

getExpression2

public Expression getExpression2()
Gets the second expression.

Specified by:
getExpression2 in interface BinaryExpression
Returns:
the expression on the second side of the comparison.

setExpression2

public void setExpression2(Expression expression)
Gets the second expression.

Throws:
IllegalFilterException

getType

public short getType()
Gets the type of this expression.

Specified by:
getType in interface MathExpression
Overrides:
getType in class DefaultExpression
Returns:
Expression type.

ensureOperandsSet

protected void ensureOperandsSet()
                          throws IllegalArgumentException
Convenience method which ensures that both expressions have been set. If any of operands not set an exception is thrown.

Throws:
IllegalArgumentException

number

protected Object number(double number)


Copyright © 1996-2014 Geotools. All Rights Reserved.