org.objectweb.medor.expression.lib
Class Substring

java.lang.Object
  extended byorg.objectweb.medor.expression.lib.BasicOperator
      extended byorg.objectweb.medor.expression.lib.Substring
All Implemented Interfaces:
java.lang.Cloneable, Expression, Operator, java.io.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.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.objectweb.medor.expression.lib.BasicOperator
expressions, result, type, verified
 
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, 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.
 Operand evaluate(ParameterOperand[] pos, java.lang.Object o)
          It evaluates the expression tree and puts the result into the operand result.
 java.lang.String evaluate(java.lang.String op, int start, int length)
           
 int getOperandNumber()
           
 java.lang.String getOperatorString()
          Returns the String representing the operator in Java
 
Methods inherited from class org.objectweb.medor.expression.lib.BasicOperator
getExpression, getType, setExpression
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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

Substring

public Substring()
Method Detail

getOperandNumber

public int getOperandNumber()

evaluate

public Operand evaluate(ParameterOperand[] pos,
                        java.lang.Object o)
                 throws ExpressionException
Description copied from interface: Expression
It evaluates the expression tree and puts the result into the operand result.

Parameters:
pos - a list of ParameterOperand
o - the input Object from which values are taken for the evaluation
Returns:
an Operand containing the result of the evaluation
Throws:
ExpressionException

compileExpression

public Operand compileExpression()
                          throws ExpressionException,
                                 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.

Throws:
MalformedExpressionException - if syntax error
ExpressionException

evaluate

public java.lang.String evaluate(java.lang.String op,
                                 int start,
                                 int length)

getOperatorString

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

Returns:
the String representing the operator in Java