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