diff options
author | Kenn Hussey | 2016-04-13 14:45:13 +0000 |
---|---|---|
committer | Kenn Hussey | 2016-04-13 14:45:13 +0000 |
commit | a722f28e1e3a416f4be9d816e914a0b2bdfcae0d (patch) | |
tree | c29d59597e880bb9c4e355e8f67442a805e0a02b | |
parent | 6b0ef83c93efc436161a839d198134a6e1960365 (diff) | |
download | org.eclipse.uml2-a722f28e1e3a416f4be9d816e914a0b2bdfcae0d.tar.gz org.eclipse.uml2-a722f28e1e3a416f4be9d816e914a0b2bdfcae0d.tar.xz org.eclipse.uml2-a722f28e1e3a416f4be9d816e914a0b2bdfcae0d.zip |
[485876] Updating based on changes in EMF.
3 files changed, 441 insertions, 435 deletions
diff --git a/plugins/org.eclipse.uml2.codegen.ecore/META-INF/MANIFEST.MF b/plugins/org.eclipse.uml2.codegen.ecore/META-INF/MANIFEST.MF index 1fef850bb..086e563f4 100644 --- a/plugins/org.eclipse.uml2.codegen.ecore/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.uml2.codegen.ecore/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.uml2.codegen.ecore; singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.2.0.qualifier Bundle-ClassPath: . Bundle-Activator: org.eclipse.uml2.codegen.ecore.CodeGenEcorePlugin$Implementation Bundle-Vendor: %providerName diff --git a/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/templates/model/Class.java b/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/templates/model/Class.java index b32b49bdd..d38dd2181 100644 --- a/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/templates/model/Class.java +++ b/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/templates/model/Class.java @@ -4488,7 +4488,7 @@ if (index != -1) { head = typeName.substring(0, index); tail = typeName.substrin stringBuffer.append(genFeature.getGetAccessor()); stringBuffer.append(TEXT_418); } else { - if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies()) && !genFeature.isListType() && !(genModel.isReflectiveDelegation() && genModel.isDynamicDelegation()) && genFeature.isUncheckedCast(genClass) || genFeature.isListType() && !genFeature.isFeatureMapType() && (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation() || genModel.isDynamicDelegation()) || genFeature.isListDataType() && genFeature.hasDelegateFeature() || genFeature.isListType() && genFeature.hasSettingDelegate())) { + if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies()) && !genFeature.isListType() && genFeature.isUncheckedCast(genClass) || genFeature.isListType() && !genFeature.isFeatureMapType() && (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation() || (genModel.isDynamicDelegation() && !genFeature.isVolatile())) || genFeature.isListDataType() && genFeature.hasDelegateFeature() || genFeature.isListType() && genFeature.hasSettingDelegate())) { stringBuffer.append(TEXT_419); } stringBuffer.append(TEXT_420); @@ -4499,7 +4499,7 @@ if (index != -1) { head = typeName.substring(0, index); tail = typeName.substrin stringBuffer.append(TEXT_422); } stringBuffer.append(TEXT_423); - if (genModel.isDynamicDelegation()) { + if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) { stringBuffer.append(TEXT_424); if (!isJDK50 && genFeature.isPrimitiveType()) { stringBuffer.append(TEXT_425); @@ -5133,7 +5133,7 @@ if (index != -1) { head = typeName.substring(0, index); tail = typeName.substrin stringBuffer.append(TEXT_700); stringBuffer.append(genFeature.getAccessorName()); stringBuffer.append(TEXT_701); - if (genModel.isDynamicDelegation()) { + if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) { stringBuffer.append(TEXT_702); stringBuffer.append(genFeature.getImportedType(genClass)); stringBuffer.append(TEXT_703); @@ -5843,7 +5843,7 @@ if (index != -1) { head = typeName.substring(0, index); tail = typeName.substrin stringBuffer.append(genFeature.getCapName()); stringBuffer.append(TEXT_1015); } - if (genModel.isDynamicDelegation()) { + if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) { stringBuffer.append(TEXT_1016); stringBuffer.append(genClass.getQualifiedFeatureID(genFeature)); if (genClass.hasStaticFeatures()){ @@ -6646,7 +6646,7 @@ if (index != -1) { head = typeName.substring(0, index); tail = typeName.substrin stringBuffer.append(TEXT_1360); } stringBuffer.append(TEXT_1361); - if (genModel.isDynamicDelegation()) { + if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) { stringBuffer.append(TEXT_1362); stringBuffer.append(genClass.getQualifiedFeatureID(genFeature)); if (genClass.hasStaticFeatures()){ @@ -7061,7 +7061,7 @@ if (index != -1) { head = typeName.substring(0, index); tail = typeName.substrin stringBuffer.append(TEXT_1537); } stringBuffer.append(TEXT_1538); - if (genModel.isDynamicDelegation()) { + if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) { stringBuffer.append(TEXT_1539); stringBuffer.append(genClass.getQualifiedFeatureID(genFeature)); if (genClass.hasStaticFeatures()){ diff --git a/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/templates/model/ValidatorClass.java b/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/templates/model/ValidatorClass.java index 4376c8404..1174cbc1e 100644 --- a/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/templates/model/ValidatorClass.java +++ b/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/templates/model/ValidatorClass.java @@ -444,229 +444,231 @@ public class ValidatorClass protected final String TEXT_425 = ", "; protected final String TEXT_426 = ", "; protected final String TEXT_427 = ");"; - protected final String TEXT_428 = NL + "\t\tboolean "; - protected final String TEXT_429 = " = "; - protected final String TEXT_430 = ".unscaledValue().abs().toString().length() <= "; - protected final String TEXT_431 = ";" + NL + "\t\tif (!"; - protected final String TEXT_432 = " && "; - protected final String TEXT_433 = " != null)" + NL + "\t\t\treportTotalDigitsViolation("; - protected final String TEXT_434 = ", "; - protected final String TEXT_435 = ", "; + protected final String TEXT_428 = NL + "\t\tint scale = "; + protected final String TEXT_429 = ".scale();" + NL + "\t\tint totalDigits = scale < 0 ? "; + protected final String TEXT_430 = ".precision() - scale : "; + protected final String TEXT_431 = ".precision();" + NL + "\t\tboolean "; + protected final String TEXT_432 = " = totalDigits <= "; + protected final String TEXT_433 = ";" + NL + "\t\tif (!"; + protected final String TEXT_434 = " && "; + protected final String TEXT_435 = " != null)" + NL + "\t\t\treportTotalDigitsViolation("; protected final String TEXT_436 = ", "; protected final String TEXT_437 = ", "; - protected final String TEXT_438 = ");"; - protected final String TEXT_439 = NL + "\t\tboolean "; - protected final String TEXT_440 = " = "; - protected final String TEXT_441 = ".compareTo("; - protected final String TEXT_442 = "__LOWER_BOUND) > 0 && "; + protected final String TEXT_438 = ", "; + protected final String TEXT_439 = ", "; + protected final String TEXT_440 = ");"; + protected final String TEXT_441 = NL + "\t\tboolean "; + protected final String TEXT_442 = " = "; protected final String TEXT_443 = ".compareTo("; - protected final String TEXT_444 = "__UPPER_BOUND) < 0;" + NL + "\t\tif (!"; - protected final String TEXT_445 = " && "; - protected final String TEXT_446 = " != null)" + NL + "\t\t\treportTotalDigitsViolation("; - protected final String TEXT_447 = ", "; - protected final String TEXT_448 = ", "; + protected final String TEXT_444 = "__LOWER_BOUND) > 0 && "; + protected final String TEXT_445 = ".compareTo("; + protected final String TEXT_446 = "__UPPER_BOUND) < 0;" + NL + "\t\tif (!"; + protected final String TEXT_447 = " && "; + protected final String TEXT_448 = " != null)" + NL + "\t\t\treportTotalDigitsViolation("; protected final String TEXT_449 = ", "; protected final String TEXT_450 = ", "; - protected final String TEXT_451 = ");"; - protected final String TEXT_452 = NL + "\t\treturn "; - protected final String TEXT_453 = ";"; - protected final String TEXT_454 = NL + "\t\tboolean "; - protected final String TEXT_455 = " = "; - protected final String TEXT_456 = ".scale() <= "; - protected final String TEXT_457 = ";" + NL + "\t\tif (!"; - protected final String TEXT_458 = " && "; - protected final String TEXT_459 = " != null)" + NL + "\t\t\treportFractionDigitsViolation("; - protected final String TEXT_460 = ", "; - protected final String TEXT_461 = ", "; + protected final String TEXT_451 = ", "; + protected final String TEXT_452 = ", "; + protected final String TEXT_453 = ");"; + protected final String TEXT_454 = NL + "\t\treturn "; + protected final String TEXT_455 = ";"; + protected final String TEXT_456 = NL + "\t\tboolean "; + protected final String TEXT_457 = " = "; + protected final String TEXT_458 = ".scale() <= "; + protected final String TEXT_459 = ";" + NL + "\t\tif (!"; + protected final String TEXT_460 = " && "; + protected final String TEXT_461 = " != null)" + NL + "\t\t\treportFractionDigitsViolation("; protected final String TEXT_462 = ", "; protected final String TEXT_463 = ", "; - protected final String TEXT_464 = ");" + NL + "\t\treturn "; - protected final String TEXT_465 = ";"; - protected final String TEXT_466 = NL + "\t\t// TODO override the constraint, if desired" + NL + "\t\t// -> uncomment the scaffolding" + NL + "\t\t// -> specify the condition that violates the constraint" + NL + "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL + "\t\t{" + NL + "\t\t\tif ("; - protected final String TEXT_467 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; - protected final String TEXT_468 = ".add"; - protected final String TEXT_469 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t("; - protected final String TEXT_470 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\","; - protected final String TEXT_471 = NL + "\t\t\t\t\t\t new Object[] { \""; - protected final String TEXT_472 = "\", getValueLabel("; - protected final String TEXT_473 = ", "; - protected final String TEXT_474 = ", "; - protected final String TEXT_475 = ") },"; - protected final String TEXT_476 = NL + "\t\t\t\t\t\t new Object[] { "; - protected final String TEXT_477 = " }," + NL + "\t\t\t\t\t\t context));"; - protected final String TEXT_478 = NL + "\t\t\t\t\t(new "; - protected final String TEXT_479 = NL + "\t\t\t\t\t\t("; - protected final String TEXT_480 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t "; - protected final String TEXT_481 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \""; - protected final String TEXT_482 = "\", getValueLabel("; - protected final String TEXT_483 = ", "; - protected final String TEXT_484 = ", "; - protected final String TEXT_485 = ") }),"; - protected final String TEXT_486 = NL + "\t\t\t\t\t\t new Object[] { "; - protected final String TEXT_487 = " }));"; - protected final String TEXT_488 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn "; - protected final String TEXT_489 = "validate"; - protected final String TEXT_490 = "_"; - protected final String TEXT_491 = "("; - protected final String TEXT_492 = ", "; - protected final String TEXT_493 = ", "; - protected final String TEXT_494 = ");"; - protected final String TEXT_495 = NL + "\t\treturn" + NL + "\t\t\tvalidate" + NL + "\t\t\t\t("; - protected final String TEXT_496 = "," + NL + "\t\t\t\t "; - protected final String TEXT_497 = "," + NL + "\t\t\t\t "; + protected final String TEXT_464 = ", "; + protected final String TEXT_465 = ", "; + protected final String TEXT_466 = ");" + NL + "\t\treturn "; + protected final String TEXT_467 = ";"; + protected final String TEXT_468 = NL + "\t\t// TODO override the constraint, if desired" + NL + "\t\t// -> uncomment the scaffolding" + NL + "\t\t// -> specify the condition that violates the constraint" + NL + "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL + "\t\t{" + NL + "\t\t\tif ("; + protected final String TEXT_469 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; + protected final String TEXT_470 = ".add"; + protected final String TEXT_471 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t("; + protected final String TEXT_472 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\","; + protected final String TEXT_473 = NL + "\t\t\t\t\t\t new Object[] { \""; + protected final String TEXT_474 = "\", getValueLabel("; + protected final String TEXT_475 = ", "; + protected final String TEXT_476 = ", "; + protected final String TEXT_477 = ") },"; + protected final String TEXT_478 = NL + "\t\t\t\t\t\t new Object[] { "; + protected final String TEXT_479 = " }," + NL + "\t\t\t\t\t\t context));"; + protected final String TEXT_480 = NL + "\t\t\t\t\t(new "; + protected final String TEXT_481 = NL + "\t\t\t\t\t\t("; + protected final String TEXT_482 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t "; + protected final String TEXT_483 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \""; + protected final String TEXT_484 = "\", getValueLabel("; + protected final String TEXT_485 = ", "; + protected final String TEXT_486 = ", "; + protected final String TEXT_487 = ") }),"; + protected final String TEXT_488 = NL + "\t\t\t\t\t\t new Object[] { "; + protected final String TEXT_489 = " }));"; + protected final String TEXT_490 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn "; + protected final String TEXT_491 = "validate"; + protected final String TEXT_492 = "_"; + protected final String TEXT_493 = "("; + protected final String TEXT_494 = ", "; + protected final String TEXT_495 = ", "; + protected final String TEXT_496 = ");"; + protected final String TEXT_497 = NL + "\t\treturn" + NL + "\t\t\tvalidate" + NL + "\t\t\t\t("; protected final String TEXT_498 = "," + NL + "\t\t\t\t "; - protected final String TEXT_499 = "," + NL + "\t\t\t\t \""; - protected final String TEXT_500 = "\","; - protected final String TEXT_501 = NL + "\t\t\t\t \""; + protected final String TEXT_499 = "," + NL + "\t\t\t\t "; + protected final String TEXT_500 = "," + NL + "\t\t\t\t "; + protected final String TEXT_501 = "," + NL + "\t\t\t\t \""; protected final String TEXT_502 = "\","; - protected final String TEXT_503 = NL + "\t\t\t\t "; - protected final String TEXT_504 = "__"; - protected final String TEXT_505 = "__EEXPRESSION," + NL + "\t\t\t\t "; - protected final String TEXT_506 = ".ERROR," + NL + "\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t 0);"; - protected final String TEXT_507 = NL + "\t\t// TODO implement the constraint" + NL + "\t\t// -> specify the condition that violates the constraint" + NL + "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL + "\t\t{" + NL + "\t\t\tif ("; - protected final String TEXT_508 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; - protected final String TEXT_509 = ".add"; - protected final String TEXT_510 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t("; - protected final String TEXT_511 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\","; - protected final String TEXT_512 = NL + "\t\t\t\t\t\t new Object[] { \""; - protected final String TEXT_513 = "\", getValueLabel("; - protected final String TEXT_514 = ", "; - protected final String TEXT_515 = ", "; - protected final String TEXT_516 = ") },"; - protected final String TEXT_517 = NL + "\t\t\t\t\t\t new Object[] { "; - protected final String TEXT_518 = " }," + NL + "\t\t\t\t\t\t context));"; - protected final String TEXT_519 = NL + "\t\t\t\t\t(new "; - protected final String TEXT_520 = NL + "\t\t\t\t\t\t("; - protected final String TEXT_521 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t "; - protected final String TEXT_522 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \""; - protected final String TEXT_523 = "\", getValueLabel("; - protected final String TEXT_524 = ", "; - protected final String TEXT_525 = ", "; - protected final String TEXT_526 = ") }),"; - protected final String TEXT_527 = NL + "\t\t\t\t\t\t new Object[] { "; - protected final String TEXT_528 = " }));"; - protected final String TEXT_529 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;"; - protected final String TEXT_530 = NL + "\t\treturn "; - protected final String TEXT_531 = "."; - protected final String TEXT_532 = "("; - protected final String TEXT_533 = ", "; - protected final String TEXT_534 = ");"; - protected final String TEXT_535 = NL + "\t\t// TODO override the constraint, if desired" + NL + "\t\t// -> uncomment the scaffolding" + NL + "\t\t// -> specify the condition that violates the constraint" + NL + "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL + "\t\t{" + NL + "\t\t\tif ("; - protected final String TEXT_536 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; - protected final String TEXT_537 = ".add"; - protected final String TEXT_538 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t("; - protected final String TEXT_539 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\","; - protected final String TEXT_540 = NL + "\t\t\t\t\t\t new Object[] { \""; - protected final String TEXT_541 = "\", getObjectLabel("; - protected final String TEXT_542 = ", "; - protected final String TEXT_543 = ") },"; - protected final String TEXT_544 = NL + "\t\t\t\t\t\t new Object[] { "; - protected final String TEXT_545 = " }," + NL + "\t\t\t\t\t\t context));"; - protected final String TEXT_546 = NL + "\t\t\t\t\t(new "; - protected final String TEXT_547 = NL + "\t\t\t\t\t\t("; - protected final String TEXT_548 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t "; - protected final String TEXT_549 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \""; - protected final String TEXT_550 = "\", getObjectLabel("; - protected final String TEXT_551 = ", "; - protected final String TEXT_552 = ") }),"; - protected final String TEXT_553 = NL + "\t\t\t\t\t\t new Object[] { "; - protected final String TEXT_554 = " }));"; - protected final String TEXT_555 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn "; - protected final String TEXT_556 = "validate"; - protected final String TEXT_557 = "_"; - protected final String TEXT_558 = "("; - protected final String TEXT_559 = ", "; - protected final String TEXT_560 = ", "; - protected final String TEXT_561 = ");"; - protected final String TEXT_562 = NL + "\t\treturn" + NL + "\t\t\tvalidate" + NL + "\t\t\t\t("; - protected final String TEXT_563 = "," + NL + "\t\t\t\t "; - protected final String TEXT_564 = "," + NL + "\t\t\t\t "; + protected final String TEXT_503 = NL + "\t\t\t\t \""; + protected final String TEXT_504 = "\","; + protected final String TEXT_505 = NL + "\t\t\t\t "; + protected final String TEXT_506 = "__"; + protected final String TEXT_507 = "__EEXPRESSION," + NL + "\t\t\t\t "; + protected final String TEXT_508 = ".ERROR," + NL + "\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t 0);"; + protected final String TEXT_509 = NL + "\t\t// TODO implement the constraint" + NL + "\t\t// -> specify the condition that violates the constraint" + NL + "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL + "\t\t{" + NL + "\t\t\tif ("; + protected final String TEXT_510 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; + protected final String TEXT_511 = ".add"; + protected final String TEXT_512 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t("; + protected final String TEXT_513 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\","; + protected final String TEXT_514 = NL + "\t\t\t\t\t\t new Object[] { \""; + protected final String TEXT_515 = "\", getValueLabel("; + protected final String TEXT_516 = ", "; + protected final String TEXT_517 = ", "; + protected final String TEXT_518 = ") },"; + protected final String TEXT_519 = NL + "\t\t\t\t\t\t new Object[] { "; + protected final String TEXT_520 = " }," + NL + "\t\t\t\t\t\t context));"; + protected final String TEXT_521 = NL + "\t\t\t\t\t(new "; + protected final String TEXT_522 = NL + "\t\t\t\t\t\t("; + protected final String TEXT_523 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t "; + protected final String TEXT_524 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \""; + protected final String TEXT_525 = "\", getValueLabel("; + protected final String TEXT_526 = ", "; + protected final String TEXT_527 = ", "; + protected final String TEXT_528 = ") }),"; + protected final String TEXT_529 = NL + "\t\t\t\t\t\t new Object[] { "; + protected final String TEXT_530 = " }));"; + protected final String TEXT_531 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;"; + protected final String TEXT_532 = NL + "\t\treturn "; + protected final String TEXT_533 = "."; + protected final String TEXT_534 = "("; + protected final String TEXT_535 = ", "; + protected final String TEXT_536 = ");"; + protected final String TEXT_537 = NL + "\t\t// TODO override the constraint, if desired" + NL + "\t\t// -> uncomment the scaffolding" + NL + "\t\t// -> specify the condition that violates the constraint" + NL + "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL + "\t\t{" + NL + "\t\t\tif ("; + protected final String TEXT_538 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; + protected final String TEXT_539 = ".add"; + protected final String TEXT_540 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t("; + protected final String TEXT_541 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\","; + protected final String TEXT_542 = NL + "\t\t\t\t\t\t new Object[] { \""; + protected final String TEXT_543 = "\", getObjectLabel("; + protected final String TEXT_544 = ", "; + protected final String TEXT_545 = ") },"; + protected final String TEXT_546 = NL + "\t\t\t\t\t\t new Object[] { "; + protected final String TEXT_547 = " }," + NL + "\t\t\t\t\t\t context));"; + protected final String TEXT_548 = NL + "\t\t\t\t\t(new "; + protected final String TEXT_549 = NL + "\t\t\t\t\t\t("; + protected final String TEXT_550 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t "; + protected final String TEXT_551 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \""; + protected final String TEXT_552 = "\", getObjectLabel("; + protected final String TEXT_553 = ", "; + protected final String TEXT_554 = ") }),"; + protected final String TEXT_555 = NL + "\t\t\t\t\t\t new Object[] { "; + protected final String TEXT_556 = " }));"; + protected final String TEXT_557 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn "; + protected final String TEXT_558 = "validate"; + protected final String TEXT_559 = "_"; + protected final String TEXT_560 = "("; + protected final String TEXT_561 = ", "; + protected final String TEXT_562 = ", "; + protected final String TEXT_563 = ");"; + protected final String TEXT_564 = NL + "\t\treturn" + NL + "\t\t\tvalidate" + NL + "\t\t\t\t("; protected final String TEXT_565 = "," + NL + "\t\t\t\t "; - protected final String TEXT_566 = "," + NL + "\t\t\t\t \""; - protected final String TEXT_567 = "\","; - protected final String TEXT_568 = NL + "\t\t\t\t \""; + protected final String TEXT_566 = "," + NL + "\t\t\t\t "; + protected final String TEXT_567 = "," + NL + "\t\t\t\t "; + protected final String TEXT_568 = "," + NL + "\t\t\t\t \""; protected final String TEXT_569 = "\","; - protected final String TEXT_570 = NL + "\t\t\t\t "; - protected final String TEXT_571 = "__"; - protected final String TEXT_572 = "__EEXPRESSION," + NL + "\t\t\t\t "; - protected final String TEXT_573 = ".ERROR," + NL + "\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t 0);"; - protected final String TEXT_574 = NL + "\t\t// TODO implement the constraint" + NL + "\t\t// -> specify the condition that violates the constraint" + NL + "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL + "\t\t{" + NL + "\t\t\tif ("; - protected final String TEXT_575 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; - protected final String TEXT_576 = ".add"; - protected final String TEXT_577 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t("; - protected final String TEXT_578 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\","; - protected final String TEXT_579 = NL + "\t\t\t\t\t\t new Object[] { \""; - protected final String TEXT_580 = "\", getObjectLabel("; - protected final String TEXT_581 = ", "; - protected final String TEXT_582 = ") },"; - protected final String TEXT_583 = NL + "\t\t\t\t\t\t new Object[] { "; - protected final String TEXT_584 = " }," + NL + "\t\t\t\t\t\t context));"; - protected final String TEXT_585 = NL + "\t\t\t\t\t(new "; - protected final String TEXT_586 = NL + "\t\t\t\t\t\t("; - protected final String TEXT_587 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t "; - protected final String TEXT_588 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \""; - protected final String TEXT_589 = "\", getObjectLabel("; - protected final String TEXT_590 = ", "; - protected final String TEXT_591 = ") }),"; - protected final String TEXT_592 = NL + "\t\t\t\t\t\t new Object[] { "; - protected final String TEXT_593 = " }));"; - protected final String TEXT_594 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;"; - protected final String TEXT_595 = NL + "\t}" + NL; - protected final String TEXT_596 = NL + "\t/**" + NL + "\t * Returns the resource locator that will be used to fetch messages for this validator's diagnostics." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"; - protected final String TEXT_597 = NL + "\t@Override"; - protected final String TEXT_598 = NL + "\tpublic "; - protected final String TEXT_599 = " getResourceLocator()" + NL + "\t{"; - protected final String TEXT_600 = NL + "\t\treturn "; - protected final String TEXT_601 = ".INSTANCE;"; - protected final String TEXT_602 = NL + "\t\t// TODO" + NL + "\t\t// Specialize this to return a resource locator for messages specific to this validator." + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\treturn super.getResourceLocator();"; - protected final String TEXT_603 = NL + "\t}" + NL; - protected final String TEXT_604 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate String getRedefinitionDetail("; - protected final String TEXT_605 = " eClass, String featureName, String key)" + NL + "\t{" + NL + "\t\t"; - protected final String TEXT_606 = " eClasses = new "; - protected final String TEXT_607 = "();" + NL + "\t\teClasses.add(eClass);" + NL + "\t\teClasses.addAll(eClass.getEAllSuperTypes());" + NL + "\t\tString redefinitionDetail = null;" + NL + "\t\tfor ("; - protected final String TEXT_608 = " eClassesIterator = eClasses.iterator(); redefinitionDetail == null && eClassesIterator.hasNext(); )" + NL + "\t\t{" + NL + "\t\t\t"; - protected final String TEXT_609 = " eAnnotation = eClassesIterator.next().getEAnnotation(\"duplicates\");"; - protected final String TEXT_610 = NL + "\t\t\tif (eAnnotation != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; - protected final String TEXT_611 = " nestedEAnnotation = eAnnotation.getEAnnotation(featureName);" + NL + "\t\t\t\tif (nestedEAnnotation != null)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tredefinitionDetail = nestedEAnnotation.getDetails().get(key);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn redefinitionDetail;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected int getLowerBound("; - protected final String TEXT_612 = " eObject, "; - protected final String TEXT_613 = " eStructuralFeature)" + NL + "\t{" + NL + "\t\tString redefinitionDetail = getRedefinitionDetail(eObject.eClass(), eStructuralFeature.getName(), \"lowerBound\");"; - protected final String TEXT_614 = NL + "\t\tif (redefinitionDetail != null && redefinitionDetail.length() > 0)" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL + "\t\t\t\treturn Integer.parseInt(redefinitionDetail);" + NL + "\t\t\t}" + NL + "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL + "\t\t\t\t// do nothing" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn eStructuralFeature.getLowerBound();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected int getUpperBound("; - protected final String TEXT_615 = " eObject, "; - protected final String TEXT_616 = " eStructuralFeature)" + NL + "\t{" + NL + "\t\tString redefinitionDetail = getRedefinitionDetail(eObject.eClass(), eStructuralFeature.getName(), \"upperBound\");"; - protected final String TEXT_617 = NL + "\t\tif (redefinitionDetail != null && redefinitionDetail.length() > 0)" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL + "\t\t\t\treturn Integer.parseInt(redefinitionDetail);" + NL + "\t\t\t}" + NL + "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL + "\t\t\t\t// do nothing" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn eStructuralFeature.getUpperBound();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"; - protected final String TEXT_618 = NL + "\t@Override"; - protected final String TEXT_619 = NL + "\tprotected boolean isEcoreString(String key)" + NL + "\t{" + NL + "\t\treturn super.isEcoreString(key)" + NL + "\t\t\t|| \"_UI_FeatureHasTooFewValues_diagnostic\".equals(key)"; - protected final String TEXT_620 = NL + "\t\t\t|| \"_UI_FeatureHasTooManyValues_diagnostic\".equals(key)"; - protected final String TEXT_621 = NL + "\t\t\t|| \"_UI_RequiredFeatureMustBeSet_diagnostic\".equals(key);"; - protected final String TEXT_622 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"; - protected final String TEXT_623 = NL + "\t@Override"; - protected final String TEXT_624 = NL + "\tprotected boolean validate_MultiplicityConforms("; - protected final String TEXT_625 = " eObject, "; - protected final String TEXT_626 = " eStructuralFeature, "; - protected final String TEXT_627 = " diagnostics, "; - protected final String TEXT_628 = " context)" + NL + "\t{" + NL + "\t\tboolean result = true;" + NL + "\t\tif (eStructuralFeature.isMany())" + NL + "\t\t{" + NL + "\t\t\tif ("; - protected final String TEXT_629 = ".isFeatureMap(eStructuralFeature) && "; - protected final String TEXT_630 = ".INSTANCE.isDocumentRoot(eObject.eClass()))" + NL + "\t\t\t{" + NL + "\t\t\t\tresult = super.validate_MultiplicityConforms(eObject, eStructuralFeature, diagnostics, context);" + NL + "\t\t\t}" + NL + "\t\t\telse" + NL + "\t\t\t{" + NL + "\t\t\t\tint lowerBound = getLowerBound(eObject, eStructuralFeature);" + NL + "\t\t\t\tif (lowerBound > 0)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tint size = ((List"; - protected final String TEXT_631 = ") eObject.eGet(eStructuralFeature)).size();" + NL + "\t\t\t\t\tif (size < lowerBound)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tresult = false;" + NL + "\t\t\t\t\t\tif (diagnostics != null)" + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tdiagnostics.add" + NL + "\t\t\t\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t\t\t\t("; - protected final String TEXT_632 = ".ERROR," + NL + "\t\t\t\t\t\t\t\t\t"; - protected final String TEXT_633 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t\t\t\t"; - protected final String TEXT_634 = ".EOBJECT__EVERY_MULTIPCITY_CONFORMS," + NL + "\t\t\t\t\t\t\t\t\t\"_UI_FeatureHasTooFewValues_diagnostic\","; - protected final String TEXT_635 = NL + "\t\t\t\t\t\t\t\t\tnew Object []" + NL + "\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\tgetFeatureLabel(eStructuralFeature, context)," + NL + "\t\t\t\t\t\t\t\t\t\tgetObjectLabel(eObject, context)," + NL + "\t\t\t\t\t\t\t\t\t\tsize," + NL + "\t\t\t\t\t\t\t\t\t\tlowerBound" + NL + "\t\t\t\t\t\t\t\t\t}," + NL + "\t\t\t\t\t\t\t\t\tnew Object [] { eObject, eStructuralFeature }," + NL + "\t\t\t\t\t\t\t\t\tcontext));" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t\tint upperBound = getUpperBound(eObject, eStructuralFeature);" + NL + "\t\t\t\t\tif (upperBound > 0 && size > upperBound)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tresult = false;" + NL + "\t\t\t\t\t\tif (diagnostics != null)" + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tdiagnostics.add" + NL + "\t\t\t\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t\t\t\t("; - protected final String TEXT_636 = ".ERROR," + NL + "\t\t\t\t\t\t\t\t\t"; - protected final String TEXT_637 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t\t\t\t"; - protected final String TEXT_638 = ".EOBJECT__EVERY_MULTIPCITY_CONFORMS," + NL + "\t\t\t\t\t\t\t\t\t\"_UI_FeatureHasTooManyValues_diagnostic\","; - protected final String TEXT_639 = NL + "\t\t\t\t\t\t\t\t\tnew Object []" + NL + "\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\tgetFeatureLabel(eStructuralFeature, context)," + NL + "\t\t\t\t\t\t\t\t\t\tgetObjectLabel(eObject, context)," + NL + "\t\t\t\t\t\t\t\t\t\tsize," + NL + "\t\t\t\t\t\t\t\t\t\tupperBound" + NL + "\t\t\t\t\t\t\t\t\t}," + NL + "\t\t\t\t\t\t\t\t\tnew Object [] { eObject, eStructuralFeature }," + NL + "\t\t\t\t\t\t\t\t\tcontext));" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tint upperBound = getUpperBound(eObject, eStructuralFeature);" + NL + "\t\t\t\t\tif (upperBound > 0)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tint size = ((List"; - protected final String TEXT_640 = ") eObject.eGet(eStructuralFeature)).size();" + NL + "\t\t\t\t\t\tif (size > upperBound)" + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tresult = false;" + NL + "\t\t\t\t\t\t\tif (diagnostics != null)" + NL + "\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\tdiagnostics.add" + NL + "\t\t\t\t\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t\t\t\t\t("; - protected final String TEXT_641 = ".ERROR," + NL + "\t\t\t\t\t\t\t\t\t\t"; - protected final String TEXT_642 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t\t\t\t\t"; - protected final String TEXT_643 = ".EOBJECT__EVERY_MULTIPCITY_CONFORMS," + NL + "\t\t\t\t\t\t\t\t\t\t\"_UI_FeatureHasTooManyValues_diagnostic\","; - protected final String TEXT_644 = NL + "\t\t\t\t\t\t\t\t\t\tnew Object []" + NL + "\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\tgetFeatureLabel(eStructuralFeature, context)," + NL + "\t\t\t\t\t\t\t\t\t\t\tgetObjectLabel(eObject, context)," + NL + "\t\t\t\t\t\t\t\t\t\t\tsize," + NL + "\t\t\t\t\t\t\t\t\t\t\tupperBound" + NL + "\t\t\t\t\t\t\t\t\t\t}," + NL + "\t\t\t\t\t\t\t\t\t\tnew Object [] { eObject, eStructuralFeature }," + NL + "\t\t\t\t\t\t\t\t\t\tcontext));" + NL + "\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\telse if (getLowerBound(eObject, eStructuralFeature) >= 1)" + NL + "\t\t{" + NL + "\t\t\tif (eStructuralFeature.isUnsettable() ? !eObject.eIsSet(eStructuralFeature) : eObject.eGet(eStructuralFeature, false) == null)" + NL + "\t\t\t{" + NL + "\t\t\t\tresult = false;" + NL + "\t\t\t\tif (diagnostics != null)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tdiagnostics.add" + NL + "\t\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t\t("; - protected final String TEXT_645 = ".ERROR," + NL + "\t\t\t\t\t\t\t"; - protected final String TEXT_646 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t\t"; - protected final String TEXT_647 = ".EOBJECT__EVERY_MULTIPCITY_CONFORMS," + NL + "\t\t\t\t\t\t\t\"_UI_RequiredFeatureMustBeSet_diagnostic\","; - protected final String TEXT_648 = NL + "\t\t\t\t\t\t\tnew Object [] { getFeatureLabel(eStructuralFeature, context), getObjectLabel(eObject, context) }," + NL + "\t\t\t\t\t\t\tnew Object [] { eObject, eStructuralFeature }," + NL + "\t\t\t\t\t\t\tcontext));" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn result;" + NL + "\t}"; - protected final String TEXT_649 = NL + "} //"; - protected final String TEXT_650 = NL; + protected final String TEXT_570 = NL + "\t\t\t\t \""; + protected final String TEXT_571 = "\","; + protected final String TEXT_572 = NL + "\t\t\t\t "; + protected final String TEXT_573 = "__"; + protected final String TEXT_574 = "__EEXPRESSION," + NL + "\t\t\t\t "; + protected final String TEXT_575 = ".ERROR," + NL + "\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t 0);"; + protected final String TEXT_576 = NL + "\t\t// TODO implement the constraint" + NL + "\t\t// -> specify the condition that violates the constraint" + NL + "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL + "\t\t{" + NL + "\t\t\tif ("; + protected final String TEXT_577 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; + protected final String TEXT_578 = ".add"; + protected final String TEXT_579 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t("; + protected final String TEXT_580 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\","; + protected final String TEXT_581 = NL + "\t\t\t\t\t\t new Object[] { \""; + protected final String TEXT_582 = "\", getObjectLabel("; + protected final String TEXT_583 = ", "; + protected final String TEXT_584 = ") },"; + protected final String TEXT_585 = NL + "\t\t\t\t\t\t new Object[] { "; + protected final String TEXT_586 = " }," + NL + "\t\t\t\t\t\t context));"; + protected final String TEXT_587 = NL + "\t\t\t\t\t(new "; + protected final String TEXT_588 = NL + "\t\t\t\t\t\t("; + protected final String TEXT_589 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL + "\t\t\t\t\t\t "; + protected final String TEXT_590 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \""; + protected final String TEXT_591 = "\", getObjectLabel("; + protected final String TEXT_592 = ", "; + protected final String TEXT_593 = ") }),"; + protected final String TEXT_594 = NL + "\t\t\t\t\t\t new Object[] { "; + protected final String TEXT_595 = " }));"; + protected final String TEXT_596 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;"; + protected final String TEXT_597 = NL + "\t}" + NL; + protected final String TEXT_598 = NL + "\t/**" + NL + "\t * Returns the resource locator that will be used to fetch messages for this validator's diagnostics." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"; + protected final String TEXT_599 = NL + "\t@Override"; + protected final String TEXT_600 = NL + "\tpublic "; + protected final String TEXT_601 = " getResourceLocator()" + NL + "\t{"; + protected final String TEXT_602 = NL + "\t\treturn "; + protected final String TEXT_603 = ".INSTANCE;"; + protected final String TEXT_604 = NL + "\t\t// TODO" + NL + "\t\t// Specialize this to return a resource locator for messages specific to this validator." + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\treturn super.getResourceLocator();"; + protected final String TEXT_605 = NL + "\t}" + NL; + protected final String TEXT_606 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate String getRedefinitionDetail("; + protected final String TEXT_607 = " eClass, String featureName, String key)" + NL + "\t{" + NL + "\t\t"; + protected final String TEXT_608 = " eClasses = new "; + protected final String TEXT_609 = "();" + NL + "\t\teClasses.add(eClass);" + NL + "\t\teClasses.addAll(eClass.getEAllSuperTypes());" + NL + "\t\tString redefinitionDetail = null;" + NL + "\t\tfor ("; + protected final String TEXT_610 = " eClassesIterator = eClasses.iterator(); redefinitionDetail == null && eClassesIterator.hasNext(); )" + NL + "\t\t{" + NL + "\t\t\t"; + protected final String TEXT_611 = " eAnnotation = eClassesIterator.next().getEAnnotation(\"duplicates\");"; + protected final String TEXT_612 = NL + "\t\t\tif (eAnnotation != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; + protected final String TEXT_613 = " nestedEAnnotation = eAnnotation.getEAnnotation(featureName);" + NL + "\t\t\t\tif (nestedEAnnotation != null)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tredefinitionDetail = nestedEAnnotation.getDetails().get(key);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn redefinitionDetail;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected int getLowerBound("; + protected final String TEXT_614 = " eObject, "; + protected final String TEXT_615 = " eStructuralFeature)" + NL + "\t{" + NL + "\t\tString redefinitionDetail = getRedefinitionDetail(eObject.eClass(), eStructuralFeature.getName(), \"lowerBound\");"; + protected final String TEXT_616 = NL + "\t\tif (redefinitionDetail != null && redefinitionDetail.length() > 0)" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL + "\t\t\t\treturn Integer.parseInt(redefinitionDetail);" + NL + "\t\t\t}" + NL + "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL + "\t\t\t\t// do nothing" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn eStructuralFeature.getLowerBound();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected int getUpperBound("; + protected final String TEXT_617 = " eObject, "; + protected final String TEXT_618 = " eStructuralFeature)" + NL + "\t{" + NL + "\t\tString redefinitionDetail = getRedefinitionDetail(eObject.eClass(), eStructuralFeature.getName(), \"upperBound\");"; + protected final String TEXT_619 = NL + "\t\tif (redefinitionDetail != null && redefinitionDetail.length() > 0)" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL + "\t\t\t\treturn Integer.parseInt(redefinitionDetail);" + NL + "\t\t\t}" + NL + "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL + "\t\t\t\t// do nothing" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn eStructuralFeature.getUpperBound();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"; + protected final String TEXT_620 = NL + "\t@Override"; + protected final String TEXT_621 = NL + "\tprotected boolean isEcoreString(String key)" + NL + "\t{" + NL + "\t\treturn super.isEcoreString(key)" + NL + "\t\t\t|| \"_UI_FeatureHasTooFewValues_diagnostic\".equals(key)"; + protected final String TEXT_622 = NL + "\t\t\t|| \"_UI_FeatureHasTooManyValues_diagnostic\".equals(key)"; + protected final String TEXT_623 = NL + "\t\t\t|| \"_UI_RequiredFeatureMustBeSet_diagnostic\".equals(key);"; + protected final String TEXT_624 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"; + protected final String TEXT_625 = NL + "\t@Override"; + protected final String TEXT_626 = NL + "\tprotected boolean validate_MultiplicityConforms("; + protected final String TEXT_627 = " eObject, "; + protected final String TEXT_628 = " eStructuralFeature, "; + protected final String TEXT_629 = " diagnostics, "; + protected final String TEXT_630 = " context)" + NL + "\t{" + NL + "\t\tboolean result = true;" + NL + "\t\tif (eStructuralFeature.isMany())" + NL + "\t\t{" + NL + "\t\t\tif ("; + protected final String TEXT_631 = ".isFeatureMap(eStructuralFeature) && "; + protected final String TEXT_632 = ".INSTANCE.isDocumentRoot(eObject.eClass()))" + NL + "\t\t\t{" + NL + "\t\t\t\tresult = super.validate_MultiplicityConforms(eObject, eStructuralFeature, diagnostics, context);" + NL + "\t\t\t}" + NL + "\t\t\telse" + NL + "\t\t\t{" + NL + "\t\t\t\tint lowerBound = getLowerBound(eObject, eStructuralFeature);" + NL + "\t\t\t\tif (lowerBound > 0)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tint size = ((List"; + protected final String TEXT_633 = ") eObject.eGet(eStructuralFeature)).size();" + NL + "\t\t\t\t\tif (size < lowerBound)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tresult = false;" + NL + "\t\t\t\t\t\tif (diagnostics != null)" + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tdiagnostics.add" + NL + "\t\t\t\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t\t\t\t("; + protected final String TEXT_634 = ".ERROR," + NL + "\t\t\t\t\t\t\t\t\t"; + protected final String TEXT_635 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t\t\t\t"; + protected final String TEXT_636 = ".EOBJECT__EVERY_MULTIPCITY_CONFORMS," + NL + "\t\t\t\t\t\t\t\t\t\"_UI_FeatureHasTooFewValues_diagnostic\","; + protected final String TEXT_637 = NL + "\t\t\t\t\t\t\t\t\tnew Object []" + NL + "\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\tgetFeatureLabel(eStructuralFeature, context)," + NL + "\t\t\t\t\t\t\t\t\t\tgetObjectLabel(eObject, context)," + NL + "\t\t\t\t\t\t\t\t\t\tsize," + NL + "\t\t\t\t\t\t\t\t\t\tlowerBound" + NL + "\t\t\t\t\t\t\t\t\t}," + NL + "\t\t\t\t\t\t\t\t\tnew Object [] { eObject, eStructuralFeature }," + NL + "\t\t\t\t\t\t\t\t\tcontext));" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t\tint upperBound = getUpperBound(eObject, eStructuralFeature);" + NL + "\t\t\t\t\tif (upperBound > 0 && size > upperBound)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tresult = false;" + NL + "\t\t\t\t\t\tif (diagnostics != null)" + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tdiagnostics.add" + NL + "\t\t\t\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t\t\t\t("; + protected final String TEXT_638 = ".ERROR," + NL + "\t\t\t\t\t\t\t\t\t"; + protected final String TEXT_639 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t\t\t\t"; + protected final String TEXT_640 = ".EOBJECT__EVERY_MULTIPCITY_CONFORMS," + NL + "\t\t\t\t\t\t\t\t\t\"_UI_FeatureHasTooManyValues_diagnostic\","; + protected final String TEXT_641 = NL + "\t\t\t\t\t\t\t\t\tnew Object []" + NL + "\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\tgetFeatureLabel(eStructuralFeature, context)," + NL + "\t\t\t\t\t\t\t\t\t\tgetObjectLabel(eObject, context)," + NL + "\t\t\t\t\t\t\t\t\t\tsize," + NL + "\t\t\t\t\t\t\t\t\t\tupperBound" + NL + "\t\t\t\t\t\t\t\t\t}," + NL + "\t\t\t\t\t\t\t\t\tnew Object [] { eObject, eStructuralFeature }," + NL + "\t\t\t\t\t\t\t\t\tcontext));" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tint upperBound = getUpperBound(eObject, eStructuralFeature);" + NL + "\t\t\t\t\tif (upperBound > 0)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tint size = ((List"; + protected final String TEXT_642 = ") eObject.eGet(eStructuralFeature)).size();" + NL + "\t\t\t\t\t\tif (size > upperBound)" + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tresult = false;" + NL + "\t\t\t\t\t\t\tif (diagnostics != null)" + NL + "\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\tdiagnostics.add" + NL + "\t\t\t\t\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t\t\t\t\t("; + protected final String TEXT_643 = ".ERROR," + NL + "\t\t\t\t\t\t\t\t\t\t"; + protected final String TEXT_644 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t\t\t\t\t"; + protected final String TEXT_645 = ".EOBJECT__EVERY_MULTIPCITY_CONFORMS," + NL + "\t\t\t\t\t\t\t\t\t\t\"_UI_FeatureHasTooManyValues_diagnostic\","; + protected final String TEXT_646 = NL + "\t\t\t\t\t\t\t\t\t\tnew Object []" + NL + "\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\tgetFeatureLabel(eStructuralFeature, context)," + NL + "\t\t\t\t\t\t\t\t\t\t\tgetObjectLabel(eObject, context)," + NL + "\t\t\t\t\t\t\t\t\t\t\tsize," + NL + "\t\t\t\t\t\t\t\t\t\t\tupperBound" + NL + "\t\t\t\t\t\t\t\t\t\t}," + NL + "\t\t\t\t\t\t\t\t\t\tnew Object [] { eObject, eStructuralFeature }," + NL + "\t\t\t\t\t\t\t\t\t\tcontext));" + NL + "\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\telse if (getLowerBound(eObject, eStructuralFeature) >= 1)" + NL + "\t\t{" + NL + "\t\t\tif (eStructuralFeature.isUnsettable() ? !eObject.eIsSet(eStructuralFeature) : eObject.eGet(eStructuralFeature, false) == null)" + NL + "\t\t\t{" + NL + "\t\t\t\tresult = false;" + NL + "\t\t\t\tif (diagnostics != null)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tdiagnostics.add" + NL + "\t\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t\t("; + protected final String TEXT_647 = ".ERROR," + NL + "\t\t\t\t\t\t\t"; + protected final String TEXT_648 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t\t"; + protected final String TEXT_649 = ".EOBJECT__EVERY_MULTIPCITY_CONFORMS," + NL + "\t\t\t\t\t\t\t\"_UI_RequiredFeatureMustBeSet_diagnostic\","; + protected final String TEXT_650 = NL + "\t\t\t\t\t\t\tnew Object [] { getFeatureLabel(eStructuralFeature, context), getObjectLabel(eObject, context) }," + NL + "\t\t\t\t\t\t\tnew Object [] { eObject, eStructuralFeature }," + NL + "\t\t\t\t\t\t\tcontext));" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn result;" + NL + "\t}"; + protected final String TEXT_651 = NL + "} //"; + protected final String TEXT_652 = NL; public String generate(Object argument) { @@ -1624,469 +1626,473 @@ public class ValidatorClass } } else if ("java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) { stringBuffer.append(TEXT_428); - stringBuffer.append(result); + stringBuffer.append(genDataType.getSafeUncapName()); stringBuffer.append(TEXT_429); stringBuffer.append(genDataType.getSafeUncapName()); stringBuffer.append(TEXT_430); - stringBuffer.append(genDataType.getTotalDigits()); + stringBuffer.append(genDataType.getSafeUncapName()); stringBuffer.append(TEXT_431); stringBuffer.append(result); stringBuffer.append(TEXT_432); - stringBuffer.append(diagnostics); + stringBuffer.append(genDataType.getTotalDigits()); stringBuffer.append(TEXT_433); - stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); + stringBuffer.append(result); stringBuffer.append(TEXT_434); - stringBuffer.append(genDataType.getSafeUncapName()); + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_435); - stringBuffer.append(genDataType.getTotalDigits()); + stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); stringBuffer.append(TEXT_436); - stringBuffer.append(diagnostics); + stringBuffer.append(genDataType.getSafeUncapName()); stringBuffer.append(TEXT_437); - stringBuffer.append(context); + stringBuffer.append(genDataType.getTotalDigits()); stringBuffer.append(TEXT_438); - } else { + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_439); - stringBuffer.append(result); + stringBuffer.append(context); stringBuffer.append(TEXT_440); - stringBuffer.append(genDataType.getSafeUncapName()); + } else { stringBuffer.append(TEXT_441); - stringBuffer.append(constant); + stringBuffer.append(result); stringBuffer.append(TEXT_442); stringBuffer.append(genDataType.getSafeUncapName()); stringBuffer.append(TEXT_443); stringBuffer.append(constant); stringBuffer.append(TEXT_444); - stringBuffer.append(result); + stringBuffer.append(genDataType.getSafeUncapName()); stringBuffer.append(TEXT_445); - stringBuffer.append(diagnostics); + stringBuffer.append(constant); stringBuffer.append(TEXT_446); - stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); + stringBuffer.append(result); stringBuffer.append(TEXT_447); - stringBuffer.append(genDataType.getSafeUncapName()); + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_448); - stringBuffer.append(genDataType.getTotalDigits()); + stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); stringBuffer.append(TEXT_449); - stringBuffer.append(diagnostics); + stringBuffer.append(genDataType.getSafeUncapName()); stringBuffer.append(TEXT_450); - stringBuffer.append(context); + stringBuffer.append(genDataType.getTotalDigits()); stringBuffer.append(TEXT_451); - } + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_452); - stringBuffer.append(result); + stringBuffer.append(context); stringBuffer.append(TEXT_453); - } else if (constraint.equals("FractionDigits") && genDataType.getFractionDigits() != -1 && "java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) { + } stringBuffer.append(TEXT_454); stringBuffer.append(result); stringBuffer.append(TEXT_455); - stringBuffer.append(genDataType.getSafeUncapName()); + } else if (constraint.equals("FractionDigits") && genDataType.getFractionDigits() != -1 && "java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) { stringBuffer.append(TEXT_456); - stringBuffer.append(genDataType.getFractionDigits()); - stringBuffer.append(TEXT_457); stringBuffer.append(result); + stringBuffer.append(TEXT_457); + stringBuffer.append(genDataType.getSafeUncapName()); stringBuffer.append(TEXT_458); - stringBuffer.append(diagnostics); + stringBuffer.append(genDataType.getFractionDigits()); stringBuffer.append(TEXT_459); - stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); + stringBuffer.append(result); stringBuffer.append(TEXT_460); - stringBuffer.append(genDataType.getSafeUncapName()); + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_461); - stringBuffer.append(genDataType.getFractionDigits()); + stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); stringBuffer.append(TEXT_462); - stringBuffer.append(diagnostics); + stringBuffer.append(genDataType.getSafeUncapName()); stringBuffer.append(TEXT_463); - stringBuffer.append(context); + stringBuffer.append(genDataType.getFractionDigits()); stringBuffer.append(TEXT_464); - stringBuffer.append(result); + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_465); - } else if (constraintDelegate != null) { + stringBuffer.append(context); stringBuffer.append(TEXT_466); - stringBuffer.append(diagnostics); + stringBuffer.append(result); stringBuffer.append(TEXT_467); - stringBuffer.append(diagnostics); + } else if (constraintDelegate != null) { stringBuffer.append(TEXT_468); - if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) { + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_469); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_470); - stringBuffer.append(genModel.getNonNLS()); + if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) { stringBuffer.append(TEXT_471); - stringBuffer.append(constraint); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); stringBuffer.append(TEXT_472); - stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_473); - stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(constraint); stringBuffer.append(TEXT_474); - stringBuffer.append(context); + stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); stringBuffer.append(TEXT_475); - stringBuffer.append(genModel.getNonNLS()); - stringBuffer.append(TEXT_476); stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(TEXT_476); + stringBuffer.append(context); stringBuffer.append(TEXT_477); - } else { + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_478); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")); + stringBuffer.append(genClassifier.getSafeUncapName()); stringBuffer.append(TEXT_479); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); + } else { stringBuffer.append(TEXT_480); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")); stringBuffer.append(TEXT_481); - stringBuffer.append(constraint); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); stringBuffer.append(TEXT_482); - stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")); stringBuffer.append(TEXT_483); - stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(constraint); stringBuffer.append(TEXT_484); - stringBuffer.append(context); + stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); stringBuffer.append(TEXT_485); + stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(TEXT_486); + stringBuffer.append(context); + stringBuffer.append(TEXT_487); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(genModel.getNonNLS(2)); - stringBuffer.append(TEXT_486); + stringBuffer.append(TEXT_488); stringBuffer.append(genClassifier.getSafeUncapName()); - stringBuffer.append(TEXT_487); + stringBuffer.append(TEXT_489); } - stringBuffer.append(TEXT_488); + stringBuffer.append(TEXT_490); stringBuffer.append(delegate); - stringBuffer.append(TEXT_489); + stringBuffer.append(TEXT_491); stringBuffer.append(constraintDelegate.getName()); - stringBuffer.append(TEXT_490); + stringBuffer.append(TEXT_492); stringBuffer.append(constraint); - stringBuffer.append(TEXT_491); + stringBuffer.append(TEXT_493); stringBuffer.append(genClassifier.getSafeUncapName()); stringBuffer.append(accessor); - stringBuffer.append(TEXT_492); + stringBuffer.append(TEXT_494); stringBuffer.append(diagnostics); - stringBuffer.append(TEXT_493); + stringBuffer.append(TEXT_495); stringBuffer.append(context); - stringBuffer.append(TEXT_494); + stringBuffer.append(TEXT_496); } else { if (genClassifier.hasConstraintExpression(constraint)) { - stringBuffer.append(TEXT_495); - stringBuffer.append(genClassifier.getQualifiedClassifierAccessor()); - stringBuffer.append(TEXT_496); - stringBuffer.append(genClassifier.getSafeUncapName()); stringBuffer.append(TEXT_497); - stringBuffer.append(diagnostics); + stringBuffer.append(genClassifier.getQualifiedClassifierAccessor()); stringBuffer.append(TEXT_498); - stringBuffer.append(context); + stringBuffer.append(genClassifier.getSafeUncapName()); stringBuffer.append(TEXT_499); - stringBuffer.append(genClassifier.getValidationDelegate(constraint)); + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_500); - stringBuffer.append(genModel.getNonNLS()); + stringBuffer.append(context); stringBuffer.append(TEXT_501); - stringBuffer.append(constraint); + stringBuffer.append(genClassifier.getValidationDelegate(constraint)); stringBuffer.append(TEXT_502); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_503); - stringBuffer.append(genClassifier.getClassifierID()); + stringBuffer.append(constraint); stringBuffer.append(TEXT_504); - stringBuffer.append(CodeGenUtil.upperName(constraint)); + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_505); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); + stringBuffer.append(genClassifier.getClassifierID()); stringBuffer.append(TEXT_506); - } else { + stringBuffer.append(CodeGenUtil.upperName(constraint)); stringBuffer.append(TEXT_507); - stringBuffer.append(diagnostics); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); stringBuffer.append(TEXT_508); - stringBuffer.append(diagnostics); + } else { stringBuffer.append(TEXT_509); - if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) { + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_510); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_511); - stringBuffer.append(genModel.getNonNLS()); + if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) { stringBuffer.append(TEXT_512); - stringBuffer.append(constraint); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); stringBuffer.append(TEXT_513); - stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_514); - stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(constraint); stringBuffer.append(TEXT_515); - stringBuffer.append(context); + stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); stringBuffer.append(TEXT_516); - stringBuffer.append(genModel.getNonNLS()); - stringBuffer.append(TEXT_517); stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(TEXT_517); + stringBuffer.append(context); stringBuffer.append(TEXT_518); - } else { + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_519); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")); + stringBuffer.append(genClassifier.getSafeUncapName()); stringBuffer.append(TEXT_520); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); + } else { stringBuffer.append(TEXT_521); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")); stringBuffer.append(TEXT_522); - stringBuffer.append(constraint); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); stringBuffer.append(TEXT_523); - stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")); stringBuffer.append(TEXT_524); - stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(constraint); stringBuffer.append(TEXT_525); - stringBuffer.append(context); + stringBuffer.append(genDataType.getQualifiedClassifierAccessor()); stringBuffer.append(TEXT_526); + stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(TEXT_527); + stringBuffer.append(context); + stringBuffer.append(TEXT_528); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(genModel.getNonNLS(2)); - stringBuffer.append(TEXT_527); + stringBuffer.append(TEXT_529); stringBuffer.append(genClassifier.getSafeUncapName()); - stringBuffer.append(TEXT_528); + stringBuffer.append(TEXT_530); } - stringBuffer.append(TEXT_529); + stringBuffer.append(TEXT_531); } } } else { GenOperation genOperation = ((GenClass)genClassifier).getInvariantOperation(constraint); if (genOperation != null) { - stringBuffer.append(TEXT_530); + stringBuffer.append(TEXT_532); stringBuffer.append(genClassifier.getSafeUncapName()); - stringBuffer.append(TEXT_531); + stringBuffer.append(TEXT_533); stringBuffer.append(constraint); - stringBuffer.append(TEXT_532); + stringBuffer.append(TEXT_534); stringBuffer.append(diagnostics); - stringBuffer.append(TEXT_533); + stringBuffer.append(TEXT_535); stringBuffer.append(context); - stringBuffer.append(TEXT_534); + stringBuffer.append(TEXT_536); } else if (constraintDelegate != null) { - stringBuffer.append(TEXT_535); + stringBuffer.append(TEXT_537); stringBuffer.append(diagnostics); - stringBuffer.append(TEXT_536); + stringBuffer.append(TEXT_538); stringBuffer.append(diagnostics); - stringBuffer.append(TEXT_537); + stringBuffer.append(TEXT_539); if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) { - stringBuffer.append(TEXT_538); + stringBuffer.append(TEXT_540); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); - stringBuffer.append(TEXT_539); + stringBuffer.append(TEXT_541); stringBuffer.append(genModel.getNonNLS()); - stringBuffer.append(TEXT_540); + stringBuffer.append(TEXT_542); stringBuffer.append(constraint); - stringBuffer.append(TEXT_541); + stringBuffer.append(TEXT_543); stringBuffer.append(genClassifier.getSafeUncapName()); - stringBuffer.append(TEXT_542); + stringBuffer.append(TEXT_544); stringBuffer.append(context); - stringBuffer.append(TEXT_543); + stringBuffer.append(TEXT_545); stringBuffer.append(genModel.getNonNLS()); - stringBuffer.append(TEXT_544); + stringBuffer.append(TEXT_546); stringBuffer.append(genClassifier.getSafeUncapName()); - stringBuffer.append(TEXT_545); + stringBuffer.append(TEXT_547); } else { - stringBuffer.append(TEXT_546); + stringBuffer.append(TEXT_548); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")); - stringBuffer.append(TEXT_547); + stringBuffer.append(TEXT_549); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); - stringBuffer.append(TEXT_548); + stringBuffer.append(TEXT_550); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")); - stringBuffer.append(TEXT_549); + stringBuffer.append(TEXT_551); stringBuffer.append(constraint); - stringBuffer.append(TEXT_550); + stringBuffer.append(TEXT_552); stringBuffer.append(genClassifier.getSafeUncapName()); - stringBuffer.append(TEXT_551); + stringBuffer.append(TEXT_553); stringBuffer.append(context); - stringBuffer.append(TEXT_552); + stringBuffer.append(TEXT_554); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(genModel.getNonNLS(2)); - stringBuffer.append(TEXT_553); + stringBuffer.append(TEXT_555); stringBuffer.append(genClassifier.getSafeUncapName()); - stringBuffer.append(TEXT_554); + stringBuffer.append(TEXT_556); } - stringBuffer.append(TEXT_555); + stringBuffer.append(TEXT_557); stringBuffer.append(delegate); - stringBuffer.append(TEXT_556); + stringBuffer.append(TEXT_558); stringBuffer.append(constraintDelegate.getName()); - stringBuffer.append(TEXT_557); + stringBuffer.append(TEXT_559); stringBuffer.append(constraint); - stringBuffer.append(TEXT_558); + stringBuffer.append(TEXT_560); stringBuffer.append(cast); stringBuffer.append(genClassifier.getSafeUncapName()); - stringBuffer.append(TEXT_559); + stringBuffer.append(TEXT_561); stringBuffer.append(diagnostics); - stringBuffer.append(TEXT_560); + stringBuffer.append(TEXT_562); stringBuffer.append(context); - stringBuffer.append(TEXT_561); + stringBuffer.append(TEXT_563); } else { if (genClassifier.hasConstraintExpression(constraint)) { - stringBuffer.append(TEXT_562); - stringBuffer.append(genClassifier.getQualifiedClassifierAccessor()); - stringBuffer.append(TEXT_563); - stringBuffer.append(genClassifier.getSafeUncapName()); stringBuffer.append(TEXT_564); - stringBuffer.append(diagnostics); + stringBuffer.append(genClassifier.getQualifiedClassifierAccessor()); stringBuffer.append(TEXT_565); - stringBuffer.append(context); + stringBuffer.append(genClassifier.getSafeUncapName()); stringBuffer.append(TEXT_566); - stringBuffer.append(genClassifier.getValidationDelegate(constraint)); + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_567); - stringBuffer.append(genModel.getNonNLS()); + stringBuffer.append(context); stringBuffer.append(TEXT_568); - stringBuffer.append(constraint); + stringBuffer.append(genClassifier.getValidationDelegate(constraint)); stringBuffer.append(TEXT_569); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_570); - stringBuffer.append(genClassifier.getClassifierID()); + stringBuffer.append(constraint); stringBuffer.append(TEXT_571); - stringBuffer.append(CodeGenUtil.upperName(constraint)); + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_572); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); + stringBuffer.append(genClassifier.getClassifierID()); stringBuffer.append(TEXT_573); - } else { + stringBuffer.append(CodeGenUtil.upperName(constraint)); stringBuffer.append(TEXT_574); - stringBuffer.append(diagnostics); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); stringBuffer.append(TEXT_575); - stringBuffer.append(diagnostics); + } else { stringBuffer.append(TEXT_576); - if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) { + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_577); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); + stringBuffer.append(diagnostics); stringBuffer.append(TEXT_578); - stringBuffer.append(genModel.getNonNLS()); + if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) { stringBuffer.append(TEXT_579); - stringBuffer.append(constraint); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); stringBuffer.append(TEXT_580); - stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_581); - stringBuffer.append(context); + stringBuffer.append(constraint); stringBuffer.append(TEXT_582); - stringBuffer.append(genModel.getNonNLS()); - stringBuffer.append(TEXT_583); stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(TEXT_583); + stringBuffer.append(context); stringBuffer.append(TEXT_584); - } else { + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_585); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")); + stringBuffer.append(genClassifier.getSafeUncapName()); stringBuffer.append(TEXT_586); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); + } else { stringBuffer.append(TEXT_587); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")); stringBuffer.append(TEXT_588); - stringBuffer.append(constraint); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); stringBuffer.append(TEXT_589); - stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")); stringBuffer.append(TEXT_590); - stringBuffer.append(context); + stringBuffer.append(constraint); stringBuffer.append(TEXT_591); + stringBuffer.append(genClassifier.getSafeUncapName()); + stringBuffer.append(TEXT_592); + stringBuffer.append(context); + stringBuffer.append(TEXT_593); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(genModel.getNonNLS(2)); - stringBuffer.append(TEXT_592); + stringBuffer.append(TEXT_594); stringBuffer.append(genClassifier.getSafeUncapName()); - stringBuffer.append(TEXT_593); + stringBuffer.append(TEXT_595); } - stringBuffer.append(TEXT_594); + stringBuffer.append(TEXT_596); } }} - stringBuffer.append(TEXT_595); + stringBuffer.append(TEXT_597); } } if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) { - stringBuffer.append(TEXT_596); + stringBuffer.append(TEXT_598); if (genModel.useClassOverrideAnnotation()) { - stringBuffer.append(TEXT_597); + stringBuffer.append(TEXT_599); } - stringBuffer.append(TEXT_598); + stringBuffer.append(TEXT_600); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator")); - stringBuffer.append(TEXT_599); + stringBuffer.append(TEXT_601); if (genModel.hasModelPluginClass()) { - stringBuffer.append(TEXT_600); + stringBuffer.append(TEXT_602); stringBuffer.append(genModel.getImportedName(genModel.getQualifiedModelPluginClassName())); - stringBuffer.append(TEXT_601); + stringBuffer.append(TEXT_603); } else { - stringBuffer.append(TEXT_602); + stringBuffer.append(TEXT_604); } - stringBuffer.append(TEXT_603); + stringBuffer.append(TEXT_605); } if (UML2GenModelUtil.hasMultiplicityRedefinitions(genPackage)) { - stringBuffer.append(TEXT_604); + stringBuffer.append(TEXT_606); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass")); - stringBuffer.append(TEXT_605); + stringBuffer.append(TEXT_607); stringBuffer.append(genModel.getImportedName("java.util.List")); stringBuffer.append(genModel.useGenerics() ? "<EClass>" : ""); - stringBuffer.append(TEXT_606); + stringBuffer.append(TEXT_608); stringBuffer.append(genModel.getImportedName("java.util.ArrayList")); stringBuffer.append(genModel.useGenerics() ? "<EClass>" : ""); - stringBuffer.append(TEXT_607); + stringBuffer.append(TEXT_609); stringBuffer.append(genModel.getImportedName("java.util.Iterator")); stringBuffer.append(genModel.useGenerics() ? "<EClass>" : ""); - stringBuffer.append(TEXT_608); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EAnnotation")); - stringBuffer.append(TEXT_609); - stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_610); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EAnnotation")); stringBuffer.append(TEXT_611); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject")); + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_612); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EAnnotation")); stringBuffer.append(TEXT_613); - stringBuffer.append(genModel.getNonNLS()); - stringBuffer.append(TEXT_614); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject")); - stringBuffer.append(TEXT_615); + stringBuffer.append(TEXT_614); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")); - stringBuffer.append(TEXT_616); + stringBuffer.append(TEXT_615); stringBuffer.append(genModel.getNonNLS()); + stringBuffer.append(TEXT_616); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject")); stringBuffer.append(TEXT_617); - if (genModel.useClassOverrideAnnotation()) { + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")); stringBuffer.append(TEXT_618); - } - stringBuffer.append(TEXT_619); stringBuffer.append(genModel.getNonNLS()); + stringBuffer.append(TEXT_619); + if (genModel.useClassOverrideAnnotation()) { stringBuffer.append(TEXT_620); - stringBuffer.append(genModel.getNonNLS()); + } stringBuffer.append(TEXT_621); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_622); - if (genModel.useClassOverrideAnnotation()) { + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_623); - } + stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_624); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject")); + if (genModel.useClassOverrideAnnotation()) { stringBuffer.append(TEXT_625); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")); + } stringBuffer.append(TEXT_626); - stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.DiagnosticChain")); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject")); stringBuffer.append(TEXT_627); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")); + stringBuffer.append(TEXT_628); + stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.DiagnosticChain")); + stringBuffer.append(TEXT_629); stringBuffer.append(genModel.getImportedName("java.util.Map")); stringBuffer.append(genModel.useGenerics() ? "<Object, Object>" : ""); - stringBuffer.append(TEXT_628); + stringBuffer.append(TEXT_630); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")); - stringBuffer.append(TEXT_629); + stringBuffer.append(TEXT_631); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")); - stringBuffer.append(TEXT_630); + stringBuffer.append(TEXT_632); stringBuffer.append(genModel.useGenerics() ? "<?>" : ""); - stringBuffer.append(TEXT_631); + stringBuffer.append(TEXT_633); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); - stringBuffer.append(TEXT_632); + stringBuffer.append(TEXT_634); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")); - stringBuffer.append(TEXT_633); + stringBuffer.append(TEXT_635); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")); - stringBuffer.append(TEXT_634); + stringBuffer.append(TEXT_636); stringBuffer.append(genModel.getNonNLS()); - stringBuffer.append(TEXT_635); + stringBuffer.append(TEXT_637); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); - stringBuffer.append(TEXT_636); + stringBuffer.append(TEXT_638); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")); - stringBuffer.append(TEXT_637); + stringBuffer.append(TEXT_639); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")); - stringBuffer.append(TEXT_638); + stringBuffer.append(TEXT_640); stringBuffer.append(genModel.getNonNLS()); - stringBuffer.append(TEXT_639); + stringBuffer.append(TEXT_641); stringBuffer.append(genModel.useGenerics() ? "<?>" : ""); - stringBuffer.append(TEXT_640); + stringBuffer.append(TEXT_642); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); - stringBuffer.append(TEXT_641); + stringBuffer.append(TEXT_643); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")); - stringBuffer.append(TEXT_642); + stringBuffer.append(TEXT_644); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")); - stringBuffer.append(TEXT_643); + stringBuffer.append(TEXT_645); stringBuffer.append(genModel.getNonNLS()); - stringBuffer.append(TEXT_644); + stringBuffer.append(TEXT_646); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")); - stringBuffer.append(TEXT_645); + stringBuffer.append(TEXT_647); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")); - stringBuffer.append(TEXT_646); + stringBuffer.append(TEXT_648); stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")); - stringBuffer.append(TEXT_647); + stringBuffer.append(TEXT_649); stringBuffer.append(genModel.getNonNLS()); - stringBuffer.append(TEXT_648); + stringBuffer.append(TEXT_650); } - stringBuffer.append(TEXT_649); + stringBuffer.append(TEXT_651); stringBuffer.append(genPackage.getValidatorClassName()); genModel.emitSortedImports(); - stringBuffer.append(TEXT_650); + stringBuffer.append(TEXT_652); return stringBuffer.toString(); } } |