org.objectweb.medor.filter.lib
Class FirstLocate

java.lang.Object
  |
  +--org.objectweb.medor.filter.lib.BasicBinaryOperator
        |
        +--org.objectweb.medor.filter.lib.FirstLocate
All Implemented Interfaces:
BinaryOperator, java.lang.Cloneable, Cloneable, Expression, Operator

public class FirstLocate
extends BasicBinaryOperator
implements BinaryOperator


Field Summary
 
Fields inherited from class org.objectweb.medor.filter.lib.BasicBinaryOperator
left, leftResult, result, right, rightResult, type, verified
 
Fields inherited from interface org.objectweb.medor.filter.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, SUBSTRING, SUM, UMINUS
 
Constructor Summary
FirstLocate()
           
FirstLocate(Expression substring, Expression instring)
          Returns the first position of an Expression (first parameter) in another Expression (second parameter).
 
Method Summary
 void compileExpression()
          Checks the semantic integrity of an expression.
 void evaluate(ParameterOperand[] pos, Tuple t)
          It evaluates the expression tree and puts the result into the operand result.
 int evaluate(java.lang.String op1, java.lang.String op2)
           
 java.lang.String getOperatorString()
          Returns the String representing the operator in Java
 
Methods inherited from class org.objectweb.medor.filter.lib.BasicBinaryOperator
clone, getExpression, getLeftExpression, getOperandNumber, getResult, getRightExpression, getType, isCompiled, setExpression, setLeftExpression, setRightExpression
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.objectweb.medor.filter.api.BinaryOperator
getLeftExpression, getRightExpression, setLeftExpression, setRightExpression
 
Methods inherited from interface org.objectweb.medor.filter.api.Operator
getExpression, getOperandNumber, setExpression
 
Methods inherited from interface org.objectweb.medor.filter.api.Expression
getResult, getType, isCompiled
 
Methods inherited from interface org.objectweb.medor.api.Cloneable
clone
 

Constructor Detail

FirstLocate

public FirstLocate(Expression substring,
                   Expression instring)
Returns the first position of an Expression (first parameter) in another Expression (second parameter).

Unlike in Java, the index is 1 for the first position, and not zero.

Parameters:
substring - is the Expression to be tested as a subexpression
instring - is the Expression which may contain the left Expression.

FirstLocate

public FirstLocate()
Method Detail

evaluate

public void evaluate(ParameterOperand[] pos,
                     Tuple t)
              throws MedorException,
                     java.lang.IllegalStateException
Description copied from interface: Expression
It evaluates the expression tree and puts the result into the operand result.

Specified by:
evaluate in interface Expression
Specified by:
evaluate in class BasicBinaryOperator
Parameters:
pos - a list of ParameterOperand
t - Tuple
Throws:
java.lang.IllegalStateException - if this expression is not compiled.
MedorException - if evaluation error

evaluate

public int evaluate(java.lang.String op1,
                    java.lang.String op2)

compileExpression

public void compileExpression()
                       throws TypingException,
                              MalformedExpressionException
Description copied from interface: Expression
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
TypingException - when incompatible types error occures.

getOperatorString

public java.lang.String getOperatorString()
Description copied from interface: Operator
Returns the String representing the operator in Java

Specified by:
getOperatorString in interface Operator
Returns:
the String representing the operator in Java