| 1 package org.eclipse.emf.codegen.ecore.templates.model; 2 3 import java.util.*; 4 import org.eclipse.emf.codegen.ecore.genmodel.*; 5 6 public class ValidatorClass 7 { 8 protected static String nl; 9 public static synchronized ValidatorClass create(String lineSeparator) 10 { 11 nl = lineSeparator; 12 ValidatorClass result = new ValidatorClass(); 13 nl = null; 14 return result; 15 } 16 17 protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl; 18 protected final String TEXT_1 = ""; 19 protected final String TEXT_2 = "/**" + NL + " * <copyright>" + NL + " * </copyright>" + NL + " *" + NL + " * "; 20 protected final String TEXT_3 = "Id"; 21 protected final String TEXT_4 = NL + " */" + NL + "package "; 22 protected final String TEXT_5 = ";" + NL; 23 protected final String TEXT_6 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL + " * The <b>Validator</b> for the model." + NL + " * <!-- end-user-doc -->" + NL + " * @see "; 24 protected final String TEXT_7 = NL + " * @generated" + NL + " */" + NL + "public class "; 25 protected final String TEXT_8 = " extends "; 26 protected final String TEXT_9 = NL + "{"; 27 protected final String TEXT_10 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final "; 28 protected final String TEXT_11 = " copyright = \""; 29 protected final String TEXT_12 = "\";"; 30 protected final String TEXT_13 = NL; 31 protected final String TEXT_14 = NL + "\t/**" + NL + "\t * The cached model package" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final "; 32 protected final String TEXT_15 = " INSTANCE = new "; 33 protected final String TEXT_16 = "();" + NL + "" + NL + "\t/**" + NL + "\t * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see org.eclipse.emf.common.util.Diagnostic#getSource()" + NL + "\t * @see org.eclipse.emf.common.util.Diagnostic#getCode()" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final String DIAGNOSTIC_SOURCE = \""; 34 protected final String TEXT_17 = "\";"; 35 protected final String TEXT_18 = NL; 36 protected final String TEXT_19 = NL + "\t/**" + NL + "\t * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint '"; 37 protected final String TEXT_20 = "' of '"; 38 protected final String TEXT_21 = "'." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final int "; 39 protected final String TEXT_22 = " = "; 40 protected final String TEXT_23 = ";" + NL; 41 protected final String TEXT_24 = NL + "\t/**" + NL + "\t * A constant with a fixed name that can be used as the base value for additional hand written constants." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int GENERATED_DIAGNOSTIC_CODE_COUNT = "; 42 protected final String TEXT_25 = ";" + NL + "" + NL + "\t/**" + NL + "\t * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;" + NL; 43 protected final String TEXT_26 = NL + "\t/**" + NL + "\t * The cached base package validator." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected "; 44 protected final String TEXT_27 = " "; 45 protected final String TEXT_28 = "Validator;" + NL; 46 protected final String TEXT_29 = NL + "\t/**" + NL + "\t * Creates an instance of the switch." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic "; 47 protected final String TEXT_30 = "()" + NL + "\t{" + NL + "\t\tsuper();"; 48 protected final String TEXT_31 = NL + "\t\t"; 49 protected final String TEXT_32 = "Validator = "; 50 protected final String TEXT_33 = ".INSTANCE;"; 51 protected final String TEXT_34 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the package of this validator switch." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected EPackage getEPackage()" + NL + "\t{" + NL + "\t return "; 52 protected final String TEXT_35 = ".eINSTANCE;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Calls <code>validateXXX</code> for the corresonding classifier of the model." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map context)" + NL + "\t{" + NL + "\t\tswitch (classifierID)" + NL + "\t\t{"; 53 protected final String TEXT_36 = NL + "\t\t\tcase "; 54 protected final String TEXT_37 = "."; 55 protected final String TEXT_38 = ":"; 56 protected final String TEXT_39 = NL + "\t\t\t\treturn validate"; 57 protected final String TEXT_40 = "((("; 58 protected final String TEXT_41 = ")value)."; 59 protected final String TEXT_42 = "(), diagnostics, context);"; 60 protected final String TEXT_43 = NL + "\t\t\t\treturn validate"; 61 protected final String TEXT_44 = "(value, diagnostics, context);"; 62 protected final String TEXT_45 = NL + "\t\t\t\treturn validate"; 63 protected final String TEXT_46 = "(("; 64 protected final String TEXT_47 = ")value, diagnostics, context);"; 65 protected final String TEXT_48 = NL + "\t\t\t\treturn validate"; 66 protected final String TEXT_49 = "(("; 67 protected final String TEXT_50 = ")value, diagnostics, context);"; 68 protected final String TEXT_51 = NL + "\t\t\tdefault: " + NL + "\t\t\t\treturn true;" + NL + "\t\t}" + NL + "\t}" + NL; 69 protected final String TEXT_52 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic boolean validate"; 70 protected final String TEXT_53 = "("; 71 protected final String TEXT_54 = " "; 72 protected final String TEXT_55 = ", DiagnosticChain "; 73 protected final String TEXT_56 = ", Map "; 74 protected final String TEXT_57 = ")" + NL + "\t{"; 75 protected final String TEXT_58 = NL + "\t\treturn true;"; 76 protected final String TEXT_59 = NL + "\t\treturn validate_EveryDefaultConstraint("; 77 protected final String TEXT_60 = "("; 78 protected final String TEXT_61 = ")"; 79 protected final String TEXT_62 = ", "; 80 protected final String TEXT_63 = ", "; 81 protected final String TEXT_64 = ");"; 82 protected final String TEXT_65 = NL + "\t\tboolean "; 83 protected final String TEXT_66 = " = "; 84 protected final String TEXT_67 = "validate"; 85 protected final String TEXT_68 = "_"; 86 protected final String TEXT_69 = "("; 87 protected final String TEXT_70 = ", "; 88 protected final String TEXT_71 = ", "; 89 protected final String TEXT_72 = ");"; 90 protected final String TEXT_73 = NL + "\t\tif ("; 91 protected final String TEXT_74 = " || "; 92 protected final String TEXT_75 = " != null) result &= "; 93 protected final String TEXT_76 = "validate"; 94 protected final String TEXT_77 = "_"; 95 protected final String TEXT_78 = "("; 96 protected final String TEXT_79 = ", "; 97 protected final String TEXT_80 = ", "; 98 protected final String TEXT_81 = ");"; 99 protected final String TEXT_82 = NL + "\t\treturn "; 100 protected final String TEXT_83 = ";"; 101 protected final String TEXT_84 = NL + "\t}" + NL; 102 protected final String TEXT_85 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate"; 103 protected final String TEXT_86 = "_"; 104 protected final String TEXT_87 = NL + "\t */" + NL + "\tpublic static final "; 105 protected final String TEXT_88 = " "; 106 protected final String TEXT_89 = "__VALUE = "; 107 protected final String TEXT_90 = ";" + NL; 108 protected final String TEXT_91 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate"; 109 protected final String TEXT_92 = "_"; 110 protected final String TEXT_93 = NL + "\t */" + NL + "\tpublic static final "; 111 protected final String TEXT_94 = " "; 112 protected final String TEXT_95 = "__VALUE = "; 113 protected final String TEXT_96 = ";" + NL; 114 protected final String TEXT_97 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate"; 115 protected final String TEXT_98 = "_"; 116 protected final String TEXT_99 = NL + "\t */" + NL + "\tpublic static final "; 117 protected final String TEXT_100 = " "; 118 protected final String TEXT_101 = "__UPPER_BOUND = "; 119 protected final String TEXT_102 = ";" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate"; 120 protected final String TEXT_103 = "_"; 121 protected final String TEXT_104 = NL + "\t */" + NL + "\tpublic static final "; 122 protected final String TEXT_105 = " "; 123 protected final String TEXT_106 = "__LOWER_BOUND = "; 124 protected final String TEXT_107 = ";" + NL; 125 protected final String TEXT_108 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate"; 126 protected final String TEXT_109 = "_"; 127 protected final String TEXT_110 = NL + "\t */" + NL + "\tpublic static final PatternMatcher [][] "; 128 protected final String TEXT_111 = "__VALUES =" + NL + "\t\tnew PatternMatcher [][] " + NL + "\t\t{"; 129 protected final String TEXT_112 = NL + "\t\t\tnew PatternMatcher [] " + NL + "\t\t\t{"; 130 protected final String TEXT_113 = NL + "\t\t\t\t"; 131 protected final String TEXT_114 = ".createPatternMatcher("; 132 protected final String TEXT_115 = ")"; 133 protected final String TEXT_116 = NL + "\t\t\t}"; 134 protected final String TEXT_117 = NL + "\t\t};" + NL; 135 protected final String TEXT_118 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate"; 136 protected final String TEXT_119 = "_"; 137 protected final String TEXT_120 = NL + "\t */" + NL + "\tpublic static final "; 138 protected final String TEXT_121 = " "; 139 protected final String TEXT_122 = "__VALUES =" + NL + "\t\twrapEnumerationValues" + NL + "\t\t\t(new Object[] " + NL + "\t\t\t {"; 140 protected final String TEXT_123 = NL + "\t\t\t\t "; 141 protected final String TEXT_124 = "new "; 142 protected final String TEXT_125 = "("; 143 protected final String TEXT_126 = ")"; 144 protected final String TEXT_127 = NL + "\t\t\t });" + NL; 145 protected final String TEXT_128 = NL + "\t/**" + NL + "\t * Validates the "; 146 protected final String TEXT_129 = " constraint of '<em>"; 147 protected final String TEXT_130 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic boolean validate"; 148 protected final String TEXT_131 = "_"; 149 protected final String TEXT_132 = "("; 150 protected final String TEXT_133 = " "; 151 protected final String TEXT_134 = ", DiagnosticChain "; 152 protected final String TEXT_135 = ", Map "; 153 protected final String TEXT_136 = ")" + NL + "\t{"; 154 protected final String TEXT_137 = NL + "\t\tboolean "; 155 protected final String TEXT_138 = " = true;" + NL + "\t\tfor ("; 156 protected final String TEXT_139 = " i = "; 157 protected final String TEXT_140 = ".iterator(); i.hasNext() && (result || diagnostics != null); )" + NL + "\t\t{" + NL + "\t\t\tObject item = i.next();" + NL + "\t\t\tif ("; 158 protected final String TEXT_141 = ".eINSTANCE.get"; 159 protected final String TEXT_142 = "().isInstance(item))" + NL + "\t\t\t{" + NL + "\t\t\t\tresult &= "; 160 protected final String TEXT_143 = "validate"; 161 protected final String TEXT_144 = "("; 162 protected final String TEXT_145 = "("; 163 protected final String TEXT_146 = "("; 164 protected final String TEXT_147 = ")"; 165 protected final String TEXT_148 = ")."; 166 protected final String TEXT_149 = "()"; 167 protected final String TEXT_150 = ", "; 168 protected final String TEXT_151 = ", "; 169 protected final String TEXT_152 = ");" + NL + "\t\t\t}" + NL + "\t\t\telse" + NL + "\t\t\t{" + NL + "\t\t\t\tresult = false;" + NL + "\t\t\t\treportDataValueTypeViolation("; 170 protected final String TEXT_153 = ".eINSTANCE.get"; 171 protected final String TEXT_154 = "(), item, "; 172 protected final String TEXT_155 = ", "; 173 protected final String TEXT_156 = ");" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t return result;"; 174 protected final String TEXT_157 = NL + "\t\tboolean "; 175 protected final String TEXT_158 = " = true;"; 176 protected final String TEXT_159 = NL + "\t\t"; 177 protected final String TEXT_160 = "else "; 178 protected final String TEXT_161 = "if ("; 179 protected final String TEXT_162 = ".eINSTANCE.get"; 180 protected final String TEXT_163 = "().isInstance("; 181 protected final String TEXT_164 = "))" + NL + "\t\t{" + NL + "\t\t\tresult &= "; 182 protected final String TEXT_165 = "validate"; 183 protected final String TEXT_166 = "("; 184 protected final String TEXT_167 = "("; 185 protected final String TEXT_168 = "("; 186 protected final String TEXT_169 = ")"; 187 protected final String TEXT_170 = ")."; 188 protected final String TEXT_171 = "()"; 189 protected final String TEXT_172 = ", "; 190 protected final String TEXT_173 = ", "; 191 protected final String TEXT_174 = ");" + NL + "\t\t}"; 192 protected final String TEXT_175 = NL + "\t return result;"; 193 protected final String TEXT_176 = NL + "\t\treturn validatePattern("; 194 protected final String TEXT_177 = ".eINSTANCE.get"; 195 protected final String TEXT_178 = "(), "; 196 protected final String TEXT_179 = "new "; 197 protected final String TEXT_180 = "("; 198 protected final String TEXT_181 = ")"; 199 protected final String TEXT_182 = ", "; 200 protected final String TEXT_183 = "__VALUES, "; 201 protected final String TEXT_184 = ", "; 202 protected final String TEXT_185 = ");"; 203 protected final String TEXT_186 = NL + "\t\t"; 204 protected final String TEXT_187 = " "; 205 protected final String TEXT_188 = " = new "; 206 protected final String TEXT_189 = "("; 207 protected final String TEXT_190 = ");"; 208 protected final String TEXT_191 = NL + "\t\tboolean "; 209 protected final String TEXT_192 = " = "; 210 protected final String TEXT_193 = "__VALUES.contains("; 211 protected final String TEXT_194 = ");" + NL + "\t\tif (!"; 212 protected final String TEXT_195 = " && "; 213 protected final String TEXT_196 = " != null) " + NL + "\t\t\treportEnumerationViolation("; 214 protected final String TEXT_197 = ".eINSTANCE.get"; 215 protected final String TEXT_198 = "(), "; 216 protected final String TEXT_199 = ", "; 217 protected final String TEXT_200 = "__VALUES, "; 218 protected final String TEXT_201 = ", "; 219 protected final String TEXT_202 = ");" + NL + "\t\treturn "; 220 protected final String TEXT_203 = "; "; 221 protected final String TEXT_204 = NL + "\t\tboolean "; 222 protected final String TEXT_205 = " = "; 223 protected final String TEXT_206 = " "; 224 protected final String TEXT_207 = " "; 225 protected final String TEXT_208 = "__VALUE;" + NL + "\t\tif (!"; 226 protected final String TEXT_209 = " && "; 227 protected final String TEXT_210 = " != null) " + NL + "\t\t\treportMinViolation("; 228 protected final String TEXT_211 = ".eINSTANCE.get"; 229 protected final String TEXT_212 = "(), new "; 230 protected final String TEXT_213 = "("; 231 protected final String TEXT_214 = "), new "; 232 protected final String TEXT_215 = "("; 233 protected final String TEXT_216 = "__VALUE), "; 234 protected final String TEXT_217 = ", "; 235 protected final String TEXT_218 = ", "; 236 protected final String TEXT_219 = ");" + NL + "\t\treturn "; 237 protected final String TEXT_220 = ";"; 238 protected final String TEXT_221 = NL + "\t\tint "; 239 protected final String TEXT_222 = " = "; 240 protected final String TEXT_223 = ".compareCalendar("; 241 protected final String TEXT_224 = ", "; 242 protected final String TEXT_225 = "__VALUE);" + NL + "\t\tboolean "; 243 protected final String TEXT_226 = " = "; 244 protected final String TEXT_227 = " == 0 || "; 245 protected final String TEXT_228 = " == 1;"; 246 protected final String TEXT_229 = NL + "\t\tint "; 247 protected final String TEXT_230 = " = "; 248 protected final String TEXT_231 = ".compareDuration("; 249 protected final String TEXT_232 = ", "; 250 protected final String TEXT_233 = "__VALUE);" + NL + "\t\tboolean "; 251 protected final String TEXT_234 = " = "; 252 protected final String TEXT_235 = " == 0 || "; 253 protected final String TEXT_236 = " == 1;"; 254 protected final String TEXT_237 = NL + "\t\tboolean "; 255 protected final String TEXT_238 = " = "; 256 protected final String TEXT_239 = ".compareTo("; 257 protected final String TEXT_240 = "__VALUE) "; 258 protected final String TEXT_241 = " 0;"; 259 protected final String TEXT_242 = NL + "\t\tif (!"; 260 protected final String TEXT_243 = " && "; 261 protected final String TEXT_244 = " != null) " + NL + "\t\t\treportMinViolation("; 262 protected final String TEXT_245 = ".eINSTANCE.get"; 263 protected final String TEXT_246 = "(), "; 264 protected final String TEXT_247 = ", "; 265 protected final String TEXT_248 = "__VALUE, "; 266 protected final String TEXT_249 = ", "; 267 protected final String TEXT_250 = ", "; 268 protected final String TEXT_251 = ");" + NL + "\t\treturn "; 269 protected final String TEXT_252 = "; "; 270 protected final String TEXT_253 = NL + "\t\tboolean "; 271 protected final String TEXT_254 = " = "; 272 protected final String TEXT_255 = " "; 273 protected final String TEXT_256 = " "; 274 protected final String TEXT_257 = "__VALUE;" + NL + "\t\tif (!"; 275 protected final String TEXT_258 = " && "; 276 protected final String TEXT_259 = " != null) " + NL + "\t\t\treportMaxViolation("; 277 protected final String TEXT_260 = ".eINSTANCE.get"; 278 protected final String TEXT_261 = "(), new "; 279 protected final String TEXT_262 = "("; 280 protected final String TEXT_263 = "), new "; 281 protected final String TEXT_264 = "("; 282 protected final String TEXT_265 = "__VALUE), "; 283 protected final String TEXT_266 = ", "; 284 protected final String TEXT_267 = ", "; 285 protected final String TEXT_268 = ");" + NL + "\t\treturn "; 286 protected final String TEXT_269 = "; "; 287 protected final String TEXT_270 = NL + "\t\tint "; 288 protected final String TEXT_271 = " = "; 289 protected final String TEXT_272 = ".compareCalendar("; 290 protected final String TEXT_273 = ", "; 291 protected final String TEXT_274 = "__VALUE);" + NL + "\t\tboolean "; 292 protected final String TEXT_275 = " = "; 293 protected final String TEXT_276 = " == 0 || "; 294 protected final String TEXT_277 = " == -1;"; 295 protected final String TEXT_278 = NL + "\t\tint "; 296 protected final String TEXT_279 = " = "; 297 protected final String TEXT_280 = ".compareDuration("; 298 protected final String TEXT_281 = ", "; 299 protected final String TEXT_282 = "__VALUE);" + NL + "\t\tboolean "; 300 protected final String TEXT_283 = " = "; 301 protected final String TEXT_284 = " == 0 || "; 302 protected final String TEXT_285 = " == -1;"; 303 protected final String TEXT_286 = NL + "\t\tboolean "; 304 protected final String TEXT_287 = " = "; 305 protected final String TEXT_288 = ".compareTo("; 306 protected final String TEXT_289 = "__VALUE) "; 307 protected final String TEXT_290 = " 0;"; 308 protected final String TEXT_291 = NL + "\t\tif (!"; 309 protected final String TEXT_292 = " && "; 310 protected final String TEXT_293 = " != null) " + NL + "\t\t\treportMaxViolation("; 311 protected final String TEXT_294 = ".eINSTANCE.get"; 312 protected final String TEXT_295 = "(), "; 313 protected final String TEXT_296 = ", "; 314 protected final String TEXT_297 = "__VALUE, "; 315 protected final String TEXT_298 = ", "; 316 protected final String TEXT_299 = ", "; 317 protected final String TEXT_300 = ");" + NL + "\t\treturn "; 318 protected final String TEXT_301 = "; "; 319 protected final String TEXT_302 = NL + "\t\tint length = "; 320 protected final String TEXT_303 = "."; 321 protected final String TEXT_304 = "; " + NL + "\t\tboolean "; 322 protected final String TEXT_305 = " = length >= "; 323 protected final String TEXT_306 = ";" + NL + "\t\tif (!"; 324 protected final String TEXT_307 = " && "; 325 protected final String TEXT_308 = " != null) " + NL + "\t\t\treportMinLengthViolation("; 326 protected final String TEXT_309 = ".eINSTANCE.get"; 327 protected final String TEXT_310 = "(), "; 328 protected final String TEXT_311 = ", length, "; 329 protected final String TEXT_312 = ", "; 330 protected final String TEXT_313 = ", "; 331 protected final String TEXT_314 = ");" + NL + "\t\treturn "; 332 protected final String TEXT_315 = ";"; 333 protected final String TEXT_316 = NL + "\t\tint length = "; 334 protected final String TEXT_317 = "."; 335 protected final String TEXT_318 = "; " + NL + "\t\tboolean "; 336 protected final String TEXT_319 = " = length <= "; 337 |