diff options
author | Ed Willink | 2017-02-01 17:40:07 +0000 |
---|---|---|
committer | Ed Willink | 2017-02-01 17:40:07 +0000 |
commit | 325ec9037eae532843e476679ff9ed5e31058ab3 (patch) | |
tree | 1b6d97416685732b7d75d04fa2fb10cb2e6da82e | |
parent | 306a255f6bace0b55dc6f866fa587d2da5010096 (diff) | |
download | org.eclipse.qvtd-325ec9037eae532843e476679ff9ed5e31058ab3.tar.gz org.eclipse.qvtd-325ec9037eae532843e476679ff9ed5e31058ab3.tar.xz org.eclipse.qvtd-325ec9037eae532843e476679ff9ed5e31058ab3.zip |
[unrelated] Fix bad QVTtemplate.ecore generation
8 files changed, 24 insertions, 2124 deletions
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtcore/emf-gen/org/eclipse/qvtd/pivot/qvtcore/impl/PropertyAssignmentImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtcore/emf-gen/org/eclipse/qvtd/pivot/qvtcore/impl/PropertyAssignmentImpl.java index c104323aa..8175b09c0 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtcore/emf-gen/org/eclipse/qvtd/pivot/qvtcore/impl/PropertyAssignmentImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtcore/emf-gen/org/eclipse/qvtd/pivot/qvtcore/impl/PropertyAssignmentImpl.java @@ -338,7 +338,7 @@ public class PropertyAssignmentImpl extends NavigationAssignmentImpl implements else { /*@Caught*/ @NonNull Object CAUGHT_result; try { - final /*@NonInvalid*/ java.lang.@Nullable Boolean isPartial = this.isIsPartial(); + final /*@NonInvalid*/ boolean isPartial = this.isIsPartial(); final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isPartial); if (not == null) { throw new InvalidValueException("Null if condition"); @@ -448,7 +448,7 @@ public class PropertyAssignmentImpl extends NavigationAssignmentImpl implements else { @SuppressWarnings("null") final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Property targetProperty = this.getTargetProperty(); - final /*@NonInvalid*/ java.lang.@Nullable Boolean isImplicit = targetProperty.isIsImplicit(); + final /*@NonInvalid*/ boolean isImplicit = targetProperty.isIsImplicit(); final /*@NonInvalid*/ java.lang.@Nullable Boolean result = BooleanNotOperation.INSTANCE.evaluate(isImplicit); final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, QVTcoreTables.STR_PropertyAssignment_c_c_PropertyIsNotImplicit, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, QVTcoreTables.INT_0).booleanValue(); symbol_0 = logDiagnostic; diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/BufferStatementImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/BufferStatementImpl.java index 371ee776b..3b335d4a2 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/BufferStatementImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/BufferStatementImpl.java @@ -236,7 +236,7 @@ public class BufferStatementImpl extends ConnectionVariableImpl implements Buffe @Override public String joinNames(final EList<String> names) { /** - * '{' + names->iterate(n; s : String[?] = '' | + * '{' + names->iterate(n; s : String[1] = '' | * if (s = '') * then n * else s + ';' + n @@ -245,7 +245,7 @@ public class BufferStatementImpl extends ConnectionVariableImpl implements Buffe final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this); final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@NonNull IdResolver idResolver = executor.getIdResolver(); final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_names = idResolver.createOrderedSetOfAll(QVTimperativeTables.ORD_PRIMid_String, names); - /*@NonInvalid*/ java.lang.@Nullable String s = QVTimperativeTables.STR_; + /*@NonInvalid*/ java.lang.@NonNull String s = QVTimperativeTables.STR_; @NonNull Iterator<Object> ITERATOR_n = BOXED_names.iterator(); /*@Thrown*/ java.lang.@Nullable String iterate; while (true) { @@ -258,14 +258,14 @@ public class BufferStatementImpl extends ConnectionVariableImpl implements Buffe /** * if s = '' then n else s + ';' + n endif */ - final /*@NonInvalid*/ boolean eq = QVTimperativeTables.STR_.equals(s); - /*@Thrown*/ java.lang.@NonNull String symbol_0; + final /*@NonInvalid*/ boolean eq = s.equals(QVTimperativeTables.STR_); + /*@NonInvalid*/ java.lang.@NonNull String symbol_0; if (eq) { symbol_0 = n; } else { - final /*@Thrown*/ java.lang.@NonNull String sum = StringConcatOperation.INSTANCE.evaluate(s, QVTimperativeTables.STR__59); - final /*@Thrown*/ java.lang.@NonNull String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, n); + final /*@NonInvalid*/ java.lang.@NonNull String sum = StringConcatOperation.INSTANCE.evaluate(s, QVTimperativeTables.STR__59); + final /*@NonInvalid*/ java.lang.@NonNull String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, n); symbol_0 = sum_0; } // diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/SetStatementImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/SetStatementImpl.java index 0cf62eb1e..d98817697 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/SetStatementImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/SetStatementImpl.java @@ -775,7 +775,7 @@ public class SetStatementImpl extends ObservableStatementImpl implements SetStat */ @Override public @Nullable Object evaluate(final @NonNull Executor executor, final @NonNull TypeId typeId, final @Nullable Object oclAsSet, final /*@NonInvalid*/ java.lang.@Nullable Object e_0) { - final /*@NonInvalid*/ java.lang.@Nullable Object symbol_0 = e_0; + final /*@NonInvalid*/ java.lang.@Nullable Object symbol_0 = (Object)e_0; final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue oclContents = ClassifierOclContentsOperation.INSTANCE.evaluate(executor, QVTimperativeTables.SET_CLSSid_OclElement, symbol_0); return oclContents; } diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/StatementImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/StatementImpl.java index 26571e26f..de3db5be5 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/StatementImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/StatementImpl.java @@ -63,7 +63,7 @@ public abstract class StatementImpl extends NamedElementImpl implements Statemen @Override public String joinNames(final EList<String> names) { /** - * '{' + names->iterate(n; s : String[?] = '' | + * '{' + names->iterate(n; s : String[1] = '' | * if (s = '') * then n * else s + ';' + n @@ -72,7 +72,7 @@ public abstract class StatementImpl extends NamedElementImpl implements Statemen final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this); final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@NonNull IdResolver idResolver = executor.getIdResolver(); final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_names = idResolver.createOrderedSetOfAll(QVTimperativeTables.ORD_PRIMid_String, names); - /*@NonInvalid*/ java.lang.@Nullable String s = QVTimperativeTables.STR_; + /*@NonInvalid*/ java.lang.@NonNull String s = QVTimperativeTables.STR_; @NonNull Iterator<Object> ITERATOR_n = BOXED_names.iterator(); /*@Thrown*/ java.lang.@Nullable String iterate; while (true) { @@ -85,14 +85,14 @@ public abstract class StatementImpl extends NamedElementImpl implements Statemen /** * if s = '' then n else s + ';' + n endif */ - final /*@NonInvalid*/ boolean eq = QVTimperativeTables.STR_.equals(s); - /*@Thrown*/ java.lang.@NonNull String symbol_0; + final /*@NonInvalid*/ boolean eq = s.equals(QVTimperativeTables.STR_); + /*@NonInvalid*/ java.lang.@NonNull String symbol_0; if (eq) { symbol_0 = n; } else { - final /*@Thrown*/ java.lang.@NonNull String sum = StringConcatOperation.INSTANCE.evaluate(s, QVTimperativeTables.STR__59); - final /*@Thrown*/ java.lang.@NonNull String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, n); + final /*@NonInvalid*/ java.lang.@NonNull String sum = StringConcatOperation.INSTANCE.evaluate(s, QVTimperativeTables.STR__59); + final /*@NonInvalid*/ java.lang.@NonNull String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, n); symbol_0 = sum_0; } // diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/VariableStatementImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/VariableStatementImpl.java index 268251948..5ecce6ee9 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/VariableStatementImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/VariableStatementImpl.java @@ -65,7 +65,7 @@ public abstract class VariableStatementImpl extends VariableDeclarationImpl impl @Override public String joinNames(final EList<String> names) { /** - * '{' + names->iterate(n; s : String[?] = '' | + * '{' + names->iterate(n; s : String[1] = '' | * if (s = '') * then n * else s + ';' + n @@ -74,7 +74,7 @@ public abstract class VariableStatementImpl extends VariableDeclarationImpl impl final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this); final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@NonNull IdResolver idResolver = executor.getIdResolver(); final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_names = idResolver.createOrderedSetOfAll(QVTimperativeTables.ORD_PRIMid_String, names); - /*@NonInvalid*/ java.lang.@Nullable String s = QVTimperativeTables.STR_; + /*@NonInvalid*/ java.lang.@NonNull String s = QVTimperativeTables.STR_; @NonNull Iterator<Object> ITERATOR_n = BOXED_names.iterator(); /*@Thrown*/ java.lang.@Nullable String iterate; while (true) { @@ -87,14 +87,14 @@ public abstract class VariableStatementImpl extends VariableDeclarationImpl impl /** * if s = '' then n else s + ';' + n endif */ - final /*@NonInvalid*/ boolean eq = QVTimperativeTables.STR_.equals(s); - /*@Thrown*/ java.lang.@NonNull String symbol_0; + final /*@NonInvalid*/ boolean eq = s.equals(QVTimperativeTables.STR_); + /*@NonInvalid*/ java.lang.@NonNull String symbol_0; if (eq) { symbol_0 = n; } else { - final /*@Thrown*/ java.lang.@NonNull String sum = StringConcatOperation.INSTANCE.evaluate(s, QVTimperativeTables.STR__59); - final /*@Thrown*/ java.lang.@NonNull String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, n); + final /*@NonInvalid*/ java.lang.@NonNull String sum = StringConcatOperation.INSTANCE.evaluate(s, QVTimperativeTables.STR__59); + final /*@NonInvalid*/ java.lang.@NonNull String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, n); symbol_0 = sum_0; } // diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/Key.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/Key.java index f33fe0740..9f8a7a0d6 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/Key.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/Key.java @@ -124,7 +124,7 @@ public interface Key extends Element { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='OppositePartsHaveOpposites'" - * annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n *\n * inv OppositePartsHaveOpposites:\n * let severity : Integer[1] = \'Key::OppositePartsHaveOpposites\'.getSeverity()\n * in\n * if severity <= 0\n * then true\n * else\n * let\n * result : Boolean[?] = oppositePart->forAll(opposite <> null)\n * in\n * \'Key::OppositePartsHaveOpposites\'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)\n * endif\n \052/\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.evaluation.@<%org.eclipse.jdt.annotation.NonNull%> Executor executor = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getExecutor(this);\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.ids.@<%org.eclipse.jdt.annotation.NonNull%> IdResolver idResolver = executor.getIdResolver();\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> IntegerValue severity_0 = <%org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.STR_Key_c_c_OppositePartsHaveOpposites);\nfinal /*@NonInvalid\052/ boolean le = <%org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation%>.INSTANCE.evaluate(executor, severity_0, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.INT_0).booleanValue();\n/*@NonInvalid\052/ boolean symbol_0;\nif (le) {\n\tsymbol_0 = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE;\n}\nelse {\n\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.NonNull%> <%java.lang.Object%> CAUGHT_result;\n\ttry {\n\t\t@SuppressWarnings(\"null\")\n\t\tfinal /*@NonInvalid\052/ java.util.@<%org.eclipse.jdt.annotation.NonNull%> List<<%org.eclipse.ocl.pivot.Property%>> oppositePart = this.getOppositePart();\n\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> SetValue BOXED_oppositePart = idResolver.createSetOfAll(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.SET_CLSSid_Property, oppositePart);\n\t\t/*@Thrown\052/ java.lang.@<%org.eclipse.jdt.annotation.Nullable%> Object accumulator = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE;\n\t\t@<%org.eclipse.jdt.annotation.NonNull%> <%java.util.Iterator%><<%java.lang.Object%>> ITERATOR__1 = BOXED_oppositePart.iterator();\n\t\t/*@Thrown\052/ boolean result;\n\t\twhile (true) {\n\t\t\tif (!ITERATOR__1.hasNext()) {\n\t\t\t\tif (accumulator == <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE) {\n\t\t\t\t\tresult = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow (<%org.eclipse.ocl.pivot.values.InvalidValueException%>)accumulator;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t@SuppressWarnings(\"null\")\n\t\t\t/*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Property _1 = (<%org.eclipse.ocl.pivot.Property%>)ITERATOR__1.next();\n\t\t\t/**\n\t\t\t * opposite <> null\n\t\t\t \052/\n\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.Nullable%> Property opposite = _1.getOpposite();\n\t\t\tfinal /*@NonInvalid\052/ boolean ne = opposite != null;\n\t\t\t//\n\t\t\tif (ne == <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.FALSE_VALUE) {\t\t\t\t\t// Normal unsuccessful body evaluation result\n\t\t\t\tresult = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.FALSE_VALUE;\n\t\t\t\tbreak;\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Stop immediately\n\t\t\t}\n\t\t\telse if (ne == <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE) {\t\t\t\t// Normal successful body evaluation result\n\t\t\t\t;\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Carry on\n\t\t\t}\n\t\t\telse {\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Impossible badly typed result\n\t\t\t\taccumulator = new <%org.eclipse.ocl.pivot.values.InvalidValueException%>(<%org.eclipse.ocl.pivot.messages.PivotMessages%>.NonBooleanBody, \"forAll\");\n\t\t\t}\n\t\t}\n\t\tCAUGHT_result = result;\n\t}\n\tcatch (<%java.lang.Exception%> e) {\n\t\tCAUGHT_result = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t}\n\tfinal /*@NonInvalid\052/ boolean logDiagnostic = <%org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.ocl.pivot.ids.TypeId%>.BOOLEAN, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.STR_Key_c_c_OppositePartsHaveOpposites, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.INT_0).booleanValue();\n\tsymbol_0 = logDiagnostic;\n}\nreturn Boolean.TRUE == symbol_0;'" + * annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n *\n * inv OppositePartsHaveOpposites:\n * let severity : Integer[1] = \'Key::OppositePartsHaveOpposites\'.getSeverity()\n * in\n * if severity <= 0\n * then true\n * else\n * let\n * result : Boolean[?] = oppositePart->forAll(opposite <> null)\n * in\n * \'Key::OppositePartsHaveOpposites\'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)\n * endif\n \052/\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.evaluation.@<%org.eclipse.jdt.annotation.NonNull%> Executor executor = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getExecutor(this);\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.ids.@<%org.eclipse.jdt.annotation.NonNull%> IdResolver idResolver = executor.getIdResolver();\nfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> IntegerValue severity_0 = <%org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.STR_Key_c_c_OppositePartsHaveOpposites);\nfinal /*@NonInvalid\052/ boolean le = <%org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation%>.INSTANCE.evaluate(executor, severity_0, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.INT_0).booleanValue();\n/*@NonInvalid\052/ boolean symbol_0;\nif (le) {\n\tsymbol_0 = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE;\n}\nelse {\n\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.Nullable%> <%java.lang.Object%> CAUGHT_result;\n\ttry {\n\t\t@SuppressWarnings(\"null\")\n\t\tfinal /*@NonInvalid\052/ java.util.@<%org.eclipse.jdt.annotation.NonNull%> List<<%org.eclipse.ocl.pivot.Property%>> oppositePart = this.getOppositePart();\n\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> SetValue BOXED_oppositePart = idResolver.createSetOfAll(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.SET_CLSSid_Property, oppositePart);\n\t\t/*@Thrown\052/ java.lang.@<%org.eclipse.jdt.annotation.Nullable%> Object accumulator = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE;\n\t\t@<%org.eclipse.jdt.annotation.NonNull%> <%java.util.Iterator%><<%java.lang.Object%>> ITERATOR__1 = BOXED_oppositePart.iterator();\n\t\t/*@Thrown\052/ java.lang.@<%org.eclipse.jdt.annotation.Nullable%> Boolean result;\n\t\twhile (true) {\n\t\t\tif (!ITERATOR__1.hasNext()) {\n\t\t\t\tif (accumulator == <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE) {\n\t\t\t\t\tresult = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow (<%org.eclipse.ocl.pivot.values.InvalidValueException%>)accumulator;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t@SuppressWarnings(\"null\")\n\t\t\t/*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Property _1 = (<%org.eclipse.ocl.pivot.Property%>)ITERATOR__1.next();\n\t\t\t/**\n\t\t\t * opposite <> null\n\t\t\t \052/\n\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.Nullable%> Property opposite = _1.getOpposite();\n\t\t\tfinal /*@NonInvalid\052/ boolean ne = opposite != null;\n\t\t\t//\n\t\t\tif (ne == <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.FALSE_VALUE) {\t\t\t\t\t// Normal unsuccessful body evaluation result\n\t\t\t\tresult = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.FALSE_VALUE;\n\t\t\t\tbreak;\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Stop immediately\n\t\t\t}\n\t\t\telse if (ne == <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE) {\t\t\t\t// Normal successful body evaluation result\n\t\t\t\t;\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Carry on\n\t\t\t}\n\t\t\telse {\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Impossible badly typed result\n\t\t\t\taccumulator = new <%org.eclipse.ocl.pivot.values.InvalidValueException%>(<%org.eclipse.ocl.pivot.messages.PivotMessages%>.NonBooleanBody, \"forAll\");\n\t\t\t}\n\t\t}\n\t\tCAUGHT_result = result;\n\t}\n\tcatch (<%java.lang.Exception%> e) {\n\t\tCAUGHT_result = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t}\n\tfinal /*@NonInvalid\052/ boolean logDiagnostic = <%org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.ocl.pivot.ids.TypeId%>.BOOLEAN, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.STR_Key_c_c_OppositePartsHaveOpposites, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.INT_0).booleanValue();\n\tsymbol_0 = logDiagnostic;\n}\nreturn Boolean.TRUE == symbol_0;'" * @generated */ boolean validateOppositePartsHaveOpposites(DiagnosticChain diagnostics, Map<Object, Object> context); diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/KeyImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/KeyImpl.java index 2f8b99604..dfc7aa38f 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/KeyImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/emf-gen/org/eclipse/qvtd/pivot/qvtrelation/impl/KeyImpl.java @@ -315,14 +315,14 @@ public class KeyImpl extends ElementImpl implements Key { symbol_0 = ValueUtil.TRUE_VALUE; } else { - /*@Caught*/ @NonNull Object CAUGHT_result; + /*@Caught*/ @Nullable Object CAUGHT_result; try { @SuppressWarnings("null") final /*@NonInvalid*/ java.util.@NonNull List<Property> oppositePart = this.getOppositePart(); final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull SetValue BOXED_oppositePart = idResolver.createSetOfAll(QVTrelationTables.SET_CLSSid_Property, oppositePart); /*@Thrown*/ java.lang.@Nullable Object accumulator = ValueUtil.TRUE_VALUE; @NonNull Iterator<Object> ITERATOR__1 = BOXED_oppositePart.iterator(); - /*@Thrown*/ boolean result; + /*@Thrown*/ java.lang.@Nullable Boolean result; while (true) { if (!ITERATOR__1.hasNext()) { if (accumulator == ValueUtil.TRUE_VALUE) { diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore b/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore index 49db06e68..1d29a3324 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore @@ -54,636 +54,6 @@ </eGenericType> </eParameters> </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateMemberTypeisCollectionElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="MemberTypeisCollectionElementType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	member->forAll(type.conformsTo(referredCollectionType.elementType))

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateRestTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="RestTypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	rest <> null implies
		rest.type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisCollectionType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisCollectionType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredCollectionType

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvttemplate-CollectionTemplateExp-member" name="member" ordered="false" upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-OCLExpression" containment="true"> @@ -732,426 +102,6 @@ </eGenericType> </eParameters> </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validatePartPropertyIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="PartPropertyIsUnique"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	part->isUnique(resolvedProperty)

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateTypeisObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="TypeisObjectType"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	type = referredClass

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvttemplate-ObjectTemplateExp-part" name="part" ordered="false" upperBound="-1" eType="#T-qvttemplate-PropertyTemplateItem" containment="true" eOpposite="#F-qvttemplate-PropertyTemplateItem-objContainer"/> @@ -1220,846 +170,6 @@ </eGenericType> </eParameters> </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleClassForProperty"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = objContainer.referredClass.name + ' must conform to ' + resolvedProperty.owningClass?.name,
	status : Boolean = 
	objContainer.referredClass.conformsTo(resolvedProperty.owningClass)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForObjectValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForObjectValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type?.name + ' or vice-versa',
	status : Boolean = 
	not resolvedProperty.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionElementValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionElementValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type?.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and not value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type in
			valueType.conformsTo(propertyType)
			or propertyType.conformsTo(valueType)


}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateCompatibleTypeForCollectionValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="CompatibleTypeForCollectionValue"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="Tuple {
	message : String = value.type.oclAsType(ocl::CollectionType).elementType.name + ' must conform to ' + resolvedProperty.type.oclAsType(ocl::CollectionType).elementType.name + ' or vice-versa',
	status : Boolean = 
	resolvedProperty.type.oclIsKindOf(ocl::CollectionType)
	and value.type.oclIsKindOf(ocl::CollectionType) implies
		let propertyType = resolvedProperty.type.oclAsType(ocl::CollectionType).elementType in
		let valueType = value.type.oclAsType(ocl::CollectionType).elementType in
--		Tuple {
--			message : String = valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType),
			/*status : Boolean =*/ valueType.conformsTo(propertyType) or propertyType.conformsTo(valueType)

}.status"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvttemplate-PropertyTemplateItem-objContainer" name="objContainer" lowerBound="1" eType="#T-qvttemplate-ObjectTemplateExp" transient="true" eOpposite="#F-qvttemplate-ObjectTemplateExp-part"/> @@ -2104,216 +214,6 @@ </eGenericType> </eParameters> </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> - <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> - <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> - <details key="originalName" value="WhereIsBoolean"/> - </eAnnotations> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
	where <> null implies
		where.type = Boolean

"/> - </eAnnotations> - <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> - <eParameters name="context"> - <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> - </eGenericType> - </eParameters> - </eOperations> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvttemplate-TemplateExp-bindsTo" name="bindsTo" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Variable"> <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |