1 package org.sapia.validator; 2 3 import java.util.ArrayList ; 4 import java.util.List ; 5 import java.util.Locale ; 6 import org.sapia.util.xml.confix.ConfigurationException; 7 import org.sapia.util.xml.confix.ObjectCreationCallback; 8 9 19 public abstract class Rule implements Validatable, ObjectCreationCallback{ 20 private String _id; 21 private ErrorMessages _msgs = new ErrorMessages(); 22 private List _tmp = new ArrayList (); 23 private String _prefix, _localName; 24 25 28 public Rule() { 29 } 30 31 37 public void initName(String prefix, String localName){ 38 _prefix = prefix; 39 _localName = localName; 40 } 41 42 45 public void setId(String id) { 46 _id = id; 47 } 48 49 52 public String getId() { 53 return _id; 54 } 55 56 61 public ErrorMessage createMessage() { 62 ErrorMessage msg = new ErrorMessage(); 63 _tmp.add(msg); 64 return msg; 65 } 66 67 72 public void setErrorMessages(ErrorMessages msgs){ 73 _msgs = msgs; 74 } 75 76 79 public ErrorMessages getErrorMessages(){ 80 return _msgs; 81 } 82 83 91 public String getErrorMessageFor(Locale loc) { 92 ErrorMessage msg = _msgs.getErrorMessageFor(loc); 93 94 if (msg != null) { 95 return msg.getValue(); 96 } else { 97 return null; 98 } 99 } 100 101 104 public abstract void validate(ValidationContext context); 105 106 111 protected String localName(){ 112 return _localName; 113 } 114 115 120 protected String prefix(){ 121 return _prefix; 122 } 123 124 132 protected String qualifiedName(){ 133 if(_prefix != null && _localName != null){ 134 return _prefix + ':' + _localName; 135 } 136 else{ 137 return getClass().getName(); 138 } 139 } 140 141 public Object onCreate() throws ConfigurationException{ 142 for(int i = 0; i < _tmp.size(); i++){ 143 _msgs.addErrorMessage((ErrorMessage)_tmp.get(i)); 144 } 145 _tmp = null; 146 return this; 147 } 148 } 149 | Popular Tags |