1 57 58 package org.enhydra.apache.xerces.validators.datatype; 59 60 import java.util.ListResourceBundle ; 61 import java.util.Locale ; 62 import java.util.ResourceBundle ; 63 64 import org.enhydra.apache.xerces.utils.XMLMessageProvider; 65 66 71 public class DatatypeMessageProvider implements XMLMessageProvider { 72 75 public static final String DATATYPE_DOMAIN = "http://www.w3.org/TR/xml-schema-2"; 76 77 82 public void setLocale(Locale locale) { 83 fLocale = locale; 84 } 85 90 public Locale getLocale() { 91 return fLocale; 92 } 93 94 104 public String createMessage(Locale locale, int majorCode, int minorCode, Object args[]) { 105 boolean throwex = false; 106 if ( fResourceBundle == null || locale != fLocale ) { 107 if ( locale != null ) 108 fResourceBundle = ListResourceBundle.getBundle("org.enhydra.apache.xerces.msg.DatatypeMessages", locale); 109 if ( fResourceBundle == null ) 110 fResourceBundle = ListResourceBundle.getBundle("org.enhydra.apache.xerces.msg.DatatypeMessages"); 111 } 112 if ( majorCode < 0 || majorCode >= fgMessageKeys.length ) { 113 majorCode = MSG_BAD_MAJORCODE; 114 throwex = true; 115 } 116 String msgKey = fgMessageKeys[majorCode]; 117 String msg = fResourceBundle.getString(msgKey); 118 if ( args != null ) { 119 try { 120 msg = java.text.MessageFormat.format(msg, args); 121 } 122 catch ( Exception e ) { 123 msg = fResourceBundle.getString(fgMessageKeys[MSG_FORMAT_FAILURE]); 124 msg += " " + fResourceBundle.getString(msgKey); 125 } 126 } 127 128 if ( throwex ) { 129 throw new RuntimeException (msg); 130 } 131 return msg; 132 } 133 private Locale fLocale = null; 137 private ResourceBundle fResourceBundle = null; 138 private static int counter = 0; 142 public static final int 143 MSG_BAD_MAJORCODE = counter++, MSG_FORMAT_FAILURE = counter++, NOT_BOOLEAN = counter++, 146 NOT_DECIMAL = counter++, 147 NOT_FLOAT = counter++, 148 NOT_DOUBLE = counter++, 149 INVALID_ENUM_VALUE = counter++, 150 OUT_OF_BOUNDS = counter++, 151 NOT_ENUM_VALUE = counter++, 152 FRACTION_GREATER_TOTALDIGITS = counter++, 153 FRACTION_EXCEEDED = counter++, 154 TOTALDIGITS_EXCEEDED = counter++, 155 ILLEGAL_FACET_VALUE = counter++, 156 ILLEGAL_ANYURI_FACET = counter++, 157 ILLEGAL_BOOLEAN_FACET = counter++, 158 ILLEGAL_BASE64_FACET = counter++, 159 ILLEGAL_DATETIME_FACET = counter++, 160 ILLEGAL_DECIMAL_FACET = counter++, 161 ILLEGAL_DOUBLE_FACET = counter++, 162 ILLEGAL_FLOAT_FACET = counter++, 163 ILLEGAL_HEXBINARY_FACET = counter++, 164 ILLEGAL_NOTATION_FACET = counter++, 165 ILLEGAL_QNAME_FACET = counter++, 166 ILLEGAL_STRING_FACET = counter++, 167 ILLEGAL_LIST_FACET = counter++, 168 ILLEGAL_UNION_FACET = counter++, 169 ILLEGAL_ANYSIMPLETYPE_FACET = counter++, 170 171 MSG_MAX_CODE = counter; 172 173 public static final int 177 MSG_NONE = 0; 178 179 public static final String [] fgMessageKeys = { 180 "BadMajorCode", 181 "FormatFailed", 182 "NotBoolean", 183 "NotDecimal", 184 "NotFloat", 185 "NotDouble", 186 "InvalidEnumValue", 187 "OutOfBounds", 188 "NotAnEnumValue", 189 "FractionDigitsLargerThanTotalDigits", 190 "FractionDigitsExceeded", 191 "TotalDigitsExceeded", 192 "IllegalFacetValue", 193 "IllegalAnyURIFacet", 194 "IllegalBooleanFacet", 195 "IllegalBase64Facet", 196 "IllegalDateTimeFacet", 197 "IllegalDecimalFacet", 198 "IllegalDoubleFacet", 199 "IllegalFloatFacet", 200 "IllegalHexBinaryFacet", 201 "IllegalNotationFacet", 202 "IllegalQNameFacet", 203 "IllegalStringFacet", 204 "IllegalListFacet", 205 "IllegalUnionFacet", 206 "IllegalAnySimpleTypeFacet" 207 }; 208 209 } 210 | Popular Tags |