org.objectweb.medor.expression.lib

Class IndexedLocate

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

public class IndexedLocate
extends BasicOperator

Operator representing the search for a substring within a given input string, starting at a given index.

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

Constructor Summary

IndexedLocate()
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.

Method Summary

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

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

IndexedLocate

public IndexedLocate()


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.

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 inputString,
                    String subString,
                    int fromIndex)


evaluate

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


getOperatorString

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