org.objectweb.medor.expression.lib

Class Substring

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

public class Substring
extends BasicOperator

Operator representing the substring extraction given a String, a first integer to start from and a second integer indicating the length of the required substring.

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

Substring()
Substring(Expression inputString, Expression start, Expression length)
Constructs the operator

Method Summary

Operand
compileExpression()
Checks the semantic integrity of an expression.
String
evaluate(String op, int start, int length)
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

Substring

public Substring()


Substring

public Substring(Expression inputString,
                 Expression start,
                 Expression length)
Constructs the operator

Parameters:
inputString - is the String from which to extract the substing
start - is the index of the first character in the String to start with. It is expected that 1 is the first character in the string (and not 0 like in Java).
length - is the size of the requested substring

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 String evaluate(String op,
                       int start,
                       int length)


evaluate

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


getOperatorString

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