org.objectweb.medor.filter.lib
Class IndexedLocate
java.lang.Object
|
+--org.objectweb.medor.filter.lib.BasicThreeArgsOperator
|
+--org.objectweb.medor.filter.lib.IndexedLocate
- All Implemented Interfaces:
- java.lang.Cloneable, Cloneable, Expression, Operator, ThreeArgsOperator
- public class IndexedLocate
- extends BasicThreeArgsOperator
- implements ThreeArgsOperator
Operator representing the search for a substring within a given input string,
starting at a given index.
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 |
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 inputString,
java.lang.String subString,
int fromIndex)
|
java.lang.String |
getOperatorString()
Returns the String representing the operator in Java |
Methods inherited from class org.objectweb.medor.filter.lib.BasicThreeArgsOperator |
clone, getExpression, getFirstExpression, getOperandNumber, getResult, getSecondExpression, getThirdExpression, getType, isCompiled, setExpression, setFirstExpression, setSecondExpression, setThirdExpression |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.objectweb.medor.api.Cloneable |
clone |
IndexedLocate
public IndexedLocate(Expression inputString,
Expression substring,
Expression fromIndex)
- Constructs an IndexedLocate operator, representing the search for a
substring in an input string, starting at a given index.
It is the equivalent of the Java indexOf String manipulation method.
If the substring argument occurs as a substring within the
inputString at a starting index no smaller than
fromIndex
, then the index of the first character
of the first such substring is returned. If it does not occur
as a substring starting at fromIndex
or beyond,
-1
is returned.
Unlike in Java, the index starts with 1 and not 0.
- Parameters:
inputString
- the String in which to look.substring
- the substring to search for.fromIndex
- the index to start the search from.
IndexedLocate
public IndexedLocate()
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 BasicThreeArgsOperator
- Parameters:
pos
- a list of ParameterOperandt
- Tuple
- Throws:
java.lang.IllegalStateException
- if this expression is not
compiled.
MedorException
- if evaluation error
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.
evaluate
public int evaluate(java.lang.String inputString,
java.lang.String subString,
int fromIndex)
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