1 23 24 package org.objectweb.medor.filter.lib; 25 26 import org.objectweb.jorm.type.api.PTypeSpace; 27 import org.objectweb.medor.expression.api.Expression; 28 import org.objectweb.medor.expression.api.ExpressionException; 29 import org.objectweb.medor.expression.api.MalformedExpressionException; 30 import org.objectweb.medor.expression.api.Operand; 31 import org.objectweb.medor.expression.api.Operator; 32 import org.objectweb.medor.expression.api.ParameterOperand; 33 import org.objectweb.medor.expression.lib.BasicVariableOperand; 34 35 46 public class Sum extends BasicAggregateOperator { 47 48 public Sum(Expression e) { 49 super(e.getType(), e); 50 } 51 52 public Sum(Expression e, boolean distinct) { 53 super(e.getType(), e, distinct); 54 if (e.getType() == PTypeSpace.FLOAT) { 55 type = PTypeSpace.DOUBLE; 56 } 57 } 58 59 public String getOperatorString() { 60 return Operator.SUM; 61 } 62 63 public Operand compileExpression() 64 throws ExpressionException, MalformedExpressionException { 65 if (expressions[0] != null) { 66 expressions[0].compileExpression(); 67 result = new BasicVariableOperand(expressions[0].getType()); 68 verified = true; 69 } 70 else 71 throw new MalformedExpressionException("null children value"); 73 return result; 74 } 75 76 public org.objectweb.medor.expression.api.Operand evaluate(ParameterOperand[] pos, Object o) 77 throws ExpressionException { 78 throw new ExpressionException("Implementation of Avg by MEDOR not yet implemented"); 79 } 80 } 81 | Popular Tags |