org.objectweb.medor.expression.lib

Class Length

Implemented Interfaces:
org.objectweb.medor.clone.api.Cloneable, Expression, Operator, Serializable, Operator, UnaryOperator

public class Length
extends BasicUnaryOperator
implements UnaryOperator

MEDOR: Middleware Enabling Distributed Object Requests Copyright (C) 2001-2003 France Telecom R&D Contact: alexandre.lefebvre@rd.francetelecom.com This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Initial developers: M. Alia, A. Lefebvre

Field Summary

Fields inherited from class org.objectweb.medor.expression.lib.BasicOperator

expressions, result, verified

Fields inherited from class org.objectweb.medor.expression.lib.BasicExpression

logger, type

Fields inherited from interface org.objectweb.medor.expression.api.Operator

ABS, AND, AVG, BITWIZE, CONCAT, CONDAND, CONDOR, COUNT, DIV, EQUAL, FIRSTLOCATE, GREATER, GREATEREQUAL, IN, INDEXEDLOCATE, LENGTH, LOWER, LOWEREQUAL, MAX, MEMBEROF, MIN, MINUS, MOD, MULT, NAV, NOT, NOTEQUAL, NOTMEMBEROF, OR, PLUS, SQRT, STRING_LOWER, STRING_UPPER, SUBSTRING, SUM, UMINUS

Fields inherited from interface org.objectweb.medor.expression.api.Operator

ABS, AND, AVG, BITWIZE, CONCAT, CONDAND, CONDOR, COUNT, DIV, EQUAL, FIRSTLOCATE, GREATER, GREATEREQUAL, IN, INDEXEDLOCATE, LENGTH, LOWER, LOWEREQUAL, MAX, MEMBEROF, MIN, MINUS, MOD, MULT, NAV, NOT, NOTEQUAL, NOTMEMBEROF, OR, PLUS, SQRT, STRING_LOWER, STRING_UPPER, SUBSTRING, SUM, UMINUS

Constructor Summary

Length()
Length(Expression e)

Method Summary

Operand
compileExpression()
Checks the semantic integrity of an expression.
int
evaluate(String op)
Operand
evaluate(ParameterOperand[] pos, Object o)
String
getOperatorString()

Methods inherited from class org.objectweb.medor.expression.lib.BasicUnaryOperator

getExpression, getExpression, getOperandNumber, setExpression, setExpression

Methods inherited from class org.objectweb.medor.expression.lib.BasicOperator

clone, getExpression, getOperandNumber, setExpression

Methods inherited from class org.objectweb.medor.expression.lib.BasicExpression

clone, getType

Methods inherited from class org.objectweb.medor.clone.lib.BasicCloneable

clone, clone, clone, getClone

Constructor Details

Length

public Length()


Length

public Length(Expression e)

Method Details

compileExpression

public Operand compileExpression()
            throws ExpressionException,
                   MalformedExpressionException
Checks the semantic integrity of an expression. It checks that all types are compatible and prepare the expression to be evaluable.It also creates buffers where stores the result. Notes that when evaluating there is no creation of new objects. This method change the state of this expression object, it will be evaluable and not modifiable.
Specified by:
compileExpression in interface Expression

Throws:
MalformedExpressionException - if syntax error


evaluate

public int evaluate(String op)


evaluate

public Operand evaluate(ParameterOperand[] pos,
                        Object o)
            throws ExpressionException


getOperatorString

public String getOperatorString()
Specified by:
getOperatorString in interface Operator