1 23 package org.objectweb.medor.filter.jorm.lib; 24 25 import org.objectweb.jorm.naming.api.PName; 26 import org.objectweb.medor.expression.api.ExpressionException; 27 import org.objectweb.medor.expression.api.ParameterOperand; 28 import org.objectweb.medor.expression.api.CalculatedParameterOperand; 29 import org.objectweb.medor.expression.lib.BasicParameterOperand; 30 import org.objectweb.medor.type.lib.PTypeSpaceMedor; 31 import org.objectweb.medor.type.lib.QType; 32 33 40 public class IsNullPName 41 extends BasicParameterOperand 42 implements CalculatedParameterOperand { 43 44 45 public IsNullPName(String parameterName) { 46 super(PTypeSpaceMedor.BOOLEAN, parameterName); 47 } 48 49 52 public void evaluate(ParameterOperand[] pos) throws ExpressionException { 53 PName pn = null; 54 for (int i = 0; i < pos.length; i++) { 55 if (pos[i] != null 56 && name.equals(pos[i].getName()) 57 && pos[i].getType().getTypeCode() == QType.TYPECODE_PNAME) { 58 pn = (PName) pos[i].getObject(); 59 } 60 } 61 if (pn == null) { 62 throw new ExpressionException("Impossible to evaluate this parameter wihtout the parameter " + name); 63 } 64 this.setValue(pn.isNull()); 65 } 66 } 67 | Popular Tags |