1 16 package org.apache.cocoon.woody.datatype.typeimpl; 17 18 import java.util.ArrayList ; 19 import java.util.Iterator ; 20 import java.util.List ; 21 import java.util.Locale ; 22 23 import org.apache.cocoon.woody.datatype.Datatype; 24 import org.apache.cocoon.woody.datatype.DatatypeBuilder; 25 import org.apache.cocoon.woody.datatype.ValidationError; 26 import org.apache.cocoon.woody.datatype.ValidationRule; 27 import org.apache.cocoon.woody.datatype.convertor.Convertor; 28 import org.outerj.expression.ExpressionContext; 29 30 35 public abstract class AbstractDatatype implements Datatype { 36 private List validationRules = new ArrayList (); 37 private boolean arrayType = false; 38 private DatatypeBuilder builder; 39 private Convertor convertor; 40 41 public ValidationError validate(Object value, ExpressionContext expressionContext) { 42 Iterator validationRulesIt = validationRules.iterator(); 43 while (validationRulesIt.hasNext()) { 44 ValidationRule validationRule = (ValidationRule)validationRulesIt.next(); 45 ValidationError result = validationRule.validate(value, expressionContext); 46 if (result != null) 47 return result; 48 } 49 return null; 50 } 51 52 public void addValidationRule(ValidationRule validationRule) { 53 validationRules.add(validationRule); 54 } 55 56 public boolean isArrayType() { 57 return arrayType; 58 } 59 60 protected void setArrayType(boolean arrayType) { 61 this.arrayType = arrayType; 62 } 63 64 protected void setConvertor(Convertor convertor) { 65 this.convertor = convertor; 66 } 67 68 protected void setBuilder(DatatypeBuilder builder) { 69 this.builder = builder; 70 } 71 72 public Convertor getPlainConvertor() { 73 return builder.getPlainConvertor(); 74 } 75 76 public DatatypeBuilder getBuilder() { 77 return builder; 78 } 79 80 public Convertor getConvertor() { 81 return convertor; 82 } 83 84 public Object convertFromString(String value, Locale locale) { 85 return getConvertor().convertFromString(value, locale, null); 86 } 87 88 public String convertToString(Object value, Locale locale) { 89 return getConvertor().convertToString(value, locale, null); 90 } 91 } 92 | Popular Tags |