1 package org.sapia.validator; 2 3 import java.util.ArrayList ; 4 import java.util.List ; 5 6 import org.sapia.util.xml.confix.ConfigurationException; 7 import org.sapia.util.xml.confix.ObjectHandlerIF; 8 9 19 public class RuleSet implements Validatable, ObjectHandlerIF { 20 private List _rules = new ArrayList (); 21 private String _id; 22 private boolean _stop; 23 24 27 public RuleSet() { 28 super(); 29 } 30 31 36 public void setId(String id) { 37 _id = id; 38 } 39 40 43 public String getId() { 44 return _id; 45 } 46 47 52 public void addValidatable(Validatable v) { 53 _rules.add(v); 54 } 55 56 61 public RuleSet createRuleSet() { 62 RuleSet set = new RuleSet(); 63 64 _rules.add(set); 65 66 return set; 67 } 68 69 72 public void setStop(boolean stop) { 73 _stop = stop; 74 } 75 76 79 public final void validate(ValidationContext ctx) { 80 Validatable current; 81 82 for (int i = 0; i < _rules.size(); i++) { 83 current = (Validatable) _rules.get(i); 84 85 current.validate(ctx); 86 87 if (ctx.getStatus().isError() && _stop) { 88 break; 89 } 90 } 91 } 92 93 96 public void handleObject(String name, Object validatable) 97 throws ConfigurationException { 98 if (validatable instanceof Validatable) { 99 addValidatable((Validatable) validatable); 100 } else { 101 throw new ConfigurationException("Unexpected element: " + name); 102 } 103 } 104 } 105 | Popular Tags |