1 16 package org.apache.cocoon.woody.datatype.validationruleimpl; 17 18 import org.apache.cocoon.woody.datatype.ValidationRule; 19 import org.apache.cocoon.woody.util.DomHelper; 20 import org.w3c.dom.Element ; 21 import org.outerj.expression.Expression; 22 23 28 public class RangeValidationRuleBuilder extends AbstractValidationRuleBuilder { 29 public ValidationRule build(Element validationRuleElement) throws Exception { 30 RangeValidationRule rule = new RangeValidationRule(); 31 32 String minExprString = validationRuleElement.getAttribute("min"); 33 String maxExprString = validationRuleElement.getAttribute("max"); 34 35 if (minExprString.length() > 0 && maxExprString.length() > 0) { 36 Expression expression = parseExpression(minExprString, validationRuleElement, "min"); 37 rule.setMinExpr(expression); 38 expression = parseExpression(maxExprString, validationRuleElement, "max"); 39 rule.setMaxExpr(expression); 40 } else if (minExprString.length() > 0) { 41 Expression expression = parseExpression(minExprString, validationRuleElement, "min"); 42 rule.setMinExpr(expression); 43 } else if (maxExprString.length() > 0) { 44 Expression expression = parseExpression(maxExprString, validationRuleElement, "max"); 45 rule.setMaxExpr(expression); 46 } else { 47 throw new Exception ("range validation rule requires a min and/or max attribute at " + DomHelper.getLocation(validationRuleElement)); 48 } 49 50 buildFailMessage(validationRuleElement, rule); 51 52 return rule; 53 } 54 } 55 | Popular Tags |