1 package org.sapia.validator; 2 3 import java.util.ArrayList ; 4 import java.util.List ; 5 6 30 public class Status { 31 private ValidationContext _ctx; 32 private List _validationErrs = new ArrayList (); 33 34 37 public Status(ValidationContext ctx) { 38 _ctx = ctx; 39 } 40 41 47 public void error(Rule r) { 48 String msg = r.getErrorMessageFor(_ctx.getLocale()); 49 String id = r.getId(); 50 addError(new ValidationErr(id, msg)); 51 } 52 53 61 public void error(Rule r, String msg) { 62 String id = r.getId(); 63 addError(new ValidationErr(id, new ValidationException(msg, id))); 64 } 65 66 73 public void error(Rule r, Throwable err) { 74 String id = r.getId(); 75 addError(new ValidationErr(id, err)); 76 } 77 78 83 public List getErrors() { 84 return _validationErrs; 85 } 86 87 94 public boolean isError() { 95 return _validationErrs.size() > 0; 96 } 97 98 101 public void addError(ValidationErr err){ 102 _validationErrs.add(err); 103 } 104 105 108 public void addErrors(List errs){ 109 for(int i = 0; i < errs.size(); i++){ 110 _validationErrs.add((ValidationErr)errs.get(i)); 111 } 112 } 113 114 121 public List removeErrorsFor(String id){ 122 List toReturn = new ArrayList (); 123 for(int i = 0; i < _validationErrs.size(); i++){ 124 ValidationErr err = (ValidationErr)_validationErrs.get(i); 125 if(err.getId() != null && err.getId().startsWith(id)){ 126 toReturn.add(err); 127 _validationErrs.remove(i--); 128 } 129 } 130 return toReturn; 131 } 132 133 139 public List removeErrors(){ 140 List lst = new ArrayList (_validationErrs); 141 _validationErrs.clear(); 142 return lst; 143 } 144 145 151 public List removeAnonymousErrors(){ 152 List toReturn = new ArrayList (); 153 for(int i = 0; i < _validationErrs.size(); i++){ 154 ValidationErr err = (ValidationErr)_validationErrs.get(i); 155 if(err.getId() == null){ 156 toReturn.add(err); 157 _validationErrs.remove(i--); 158 } 159 } 160 return toReturn; 161 } 162 } 163 | Popular Tags |