Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2017-02-02 22:54:12 +0000
committerEd Willink2017-02-02 22:54:12 +0000
commit743bc8f81c095f88c1e6246f4303dace2ef7ea29 (patch)
treed3526c40b893025051394595b1dfe62c3ad4b913
parent45f37b5cbea79a3d0323acb4eff091e0a00ba67a (diff)
downloadorg.eclipse.qvtd-743bc8f81c095f88c1e6246f4303dace2ef7ea29.tar.gz
org.eclipse.qvtd-743bc8f81c095f88c1e6246f4303dace2ef7ea29.tar.xz
org.eclipse.qvtd-743bc8f81c095f88c1e6246f4303dace2ef7ea29.zip
[495621] Regenerate
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelDiagram.java7
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelInvocationEdge.java6
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternClassNode.java117
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternEdge.java26
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternExpressionNode.java25
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternNode.java79
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxDiagram.java11
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxImportNode.java10
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxParameterNode.java17
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxQueryNode.java14
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxTypedModelNode.java7
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXFactory.java15
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXPackage.java392
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXTables.java218
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelDiagramImpl.java128
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelInvocationEdgeImpl.java17
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelInvocationNodeImpl.java7
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternClassNodeImpl.java913
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternEdgeImpl.java1066
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternExpressionNodeImpl.java55
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternNodeImpl.java828
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxDiagramImpl.java118
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxImportNodeImpl.java46
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxKeyNodeImpl.java1
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxParameterNodeImpl.java82
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxPartNodeImpl.java1
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxQueryNodeImpl.java82
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxTypedModelNodeImpl.java38
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/UMLXFactoryImpl.java20
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/UMLXPackageImpl.java369
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/AbstractExtendingUMLXVisitor.java10
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXAdapterFactory.java36
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXSwitch.java52
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXValidator.java884
-rw-r--r--plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXVisitor.java2
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtbase/emf-gen/org/eclipse/qvtd/xtext/qvtbasecs/util/QVTbaseCSAdapterFactory.java1
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtbase/emf-gen/org/eclipse/qvtd/xtext/qvtbasecs/util/QVTbaseCSSwitch.java1
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcs/AbstractDomainCS.java1
38 files changed, 2468 insertions, 3234 deletions
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelDiagram.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelDiagram.java
index 916df16b8..02c5df1db 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelDiagram.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelDiagram.java
@@ -127,5 +127,12 @@ public interface RelDiagram extends UMLXNamedElement {
* <!-- end-user-doc -->
* @generated
*/
+ boolean validateNameIsRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
boolean validateRelPatternNodeNamesAreUnique(DiagnosticChain diagnostics, Map<Object, Object> context);
} // RelDiagram
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelInvocationEdge.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelInvocationEdge.java
index bee43e522..969bdbc30 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelInvocationEdge.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelInvocationEdge.java
@@ -39,11 +39,11 @@ public interface RelInvocationEdge extends RelEdge {
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Referred Rel Pattern Node</em>' reference.
- * @see #setReferredRelPatternNode(RelPatternClassNode)
+ * @see #setReferredRelPatternNode(RelPatternNode)
* @see org.eclipse.qvtd.umlx.UMLXPackage#getRelInvocationEdge_ReferredRelPatternNode()
* @generated
*/
- RelPatternClassNode getReferredRelPatternNode();
+ RelPatternNode getReferredRelPatternNode();
/**
* Sets the value of the '{@link org.eclipse.qvtd.umlx.RelInvocationEdge#getReferredRelPatternNode <em>Referred Rel Pattern Node</em>}' reference.
@@ -53,7 +53,7 @@ public interface RelInvocationEdge extends RelEdge {
* @see #getReferredRelPatternNode()
* @generated
*/
- void setReferredRelPatternNode(RelPatternClassNode value);
+ void setReferredRelPatternNode(RelPatternNode value);
/**
* Returns the value of the '<em><b>Owning Rel Invocation Node</b></em>' container reference.
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternClassNode.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternClassNode.java
deleted file mode 100644
index be7bd2451..000000000
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternClassNode.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * Copyright (c) 2016 Willink Transformations and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * E.D.Willink - Initial API and implementation
- */
-package org.eclipse.qvtd.umlx;
-
-import java.util.Map;
-import org.eclipse.emf.common.util.DiagnosticChain;
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Rel Pattern Node</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- * <li>{@link org.eclipse.qvtd.umlx.RelPatternClassNode#isIsAnon <em>Is Anon</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.RelPatternClassNode#getOutgoing <em>Outgoing</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.RelPatternClassNode#getRelDomainNode <em>Rel Domain Node</em>}</li>
- * </ul>
- *
- * @see org.eclipse.qvtd.umlx.UMLXPackage#getRelPatternClassNode()
- * @generated
- */
-public interface RelPatternClassNode extends RelPatternNode, UMLXTypedElement {
- /**
- * Returns the value of the '<em><b>Is Anon</b></em>' attribute.
- * The default value is <code>"false"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Is Anon</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Is Anon</em>' attribute.
- * @see #setIsAnon(boolean)
- * @see org.eclipse.qvtd.umlx.UMLXPackage#getRelPatternClassNode_IsAnon()
- * @generated
- */
- boolean isIsAnon();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.umlx.RelPatternClassNode#isIsAnon <em>Is Anon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Is Anon</em>' attribute.
- * @see #isIsAnon()
- * @generated
- */
- void setIsAnon(boolean value);
-
- /**
- * Returns the value of the '<em><b>Outgoing</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.qvtd.umlx.RelPatternEdge}.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.umlx.RelPatternEdge#getSource <em>Source</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Outgoing</em>' reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Outgoing</em>' reference list.
- * @see org.eclipse.qvtd.umlx.UMLXPackage#getRelPatternClassNode_Outgoing()
- * @see org.eclipse.qvtd.umlx.RelPatternEdge#getSource
- * @generated
- */
- EList<RelPatternEdge> getOutgoing();
-
- /**
- * Returns the value of the '<em><b>Rel Domain Node</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Rel Domain Node</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Rel Domain Node</em>' reference.
- * @see #setRelDomainNode(RelDomainNode)
- * @see org.eclipse.qvtd.umlx.UMLXPackage#getRelPatternClassNode_RelDomainNode()
- * @generated
- */
- RelDomainNode getRelDomainNode();
-
- /**
- * Sets the value of the '{@link org.eclipse.qvtd.umlx.RelPatternClassNode#getRelDomainNode <em>Rel Domain Node</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Rel Domain Node</em>' reference.
- * @see #getRelDomainNode()
- * @generated
- */
- void setRelDomainNode(RelDomainNode value);
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- boolean validateAnonIsUnnamed(DiagnosticChain diagnostics, Map<Object, Object> context);
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- boolean validateEClassifierIsInTypedModel(DiagnosticChain diagnostics, Map<Object, Object> context);
-
-} // RelPatternNode
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternEdge.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternEdge.java
index 5541be67f..60ef75cca 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternEdge.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternEdge.java
@@ -36,7 +36,7 @@ import org.eclipse.emf.ecore.EStructuralFeature;
public interface RelPatternEdge extends RelEdge {
/**
* Returns the value of the '<em><b>Source</b></em>' reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.umlx.RelPatternClassNode#getOutgoing <em>Outgoing</em>}'.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.umlx.RelPatternNode#getOutgoing <em>Outgoing</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Source</em>' reference isn't clear,
@@ -44,12 +44,12 @@ public interface RelPatternEdge extends RelEdge {
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Source</em>' reference.
- * @see #setSource(RelPatternClassNode)
+ * @see #setSource(RelPatternNode)
* @see org.eclipse.qvtd.umlx.UMLXPackage#getRelPatternEdge_Source()
- * @see org.eclipse.qvtd.umlx.RelPatternClassNode#getOutgoing
+ * @see org.eclipse.qvtd.umlx.RelPatternNode#getOutgoing
* @generated
*/
- RelPatternClassNode getSource();
+ RelPatternNode getSource();
/**
* Sets the value of the '{@link org.eclipse.qvtd.umlx.RelPatternEdge#getSource <em>Source</em>}' reference.
@@ -59,7 +59,7 @@ public interface RelPatternEdge extends RelEdge {
* @see #getSource()
* @generated
*/
- void setSource(RelPatternClassNode value);
+ void setSource(RelPatternNode value);
/**
* Returns the value of the '<em><b>Source Index</b></em>' attribute.
@@ -170,7 +170,7 @@ public interface RelPatternEdge extends RelEdge {
* <!-- end-user-doc -->
* @generated
*/
- boolean validateCompatibleMemberPropertyTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+ boolean validateSourceIsEClass(DiagnosticChain diagnostics, Map<Object, Object> context);
/**
* <!-- begin-user-doc -->
@@ -184,48 +184,48 @@ public interface RelPatternEdge extends RelEdge {
* <!-- end-user-doc -->
* @generated
*/
- boolean validateSourceIsEClass(DiagnosticChain diagnostics, Map<Object, Object> context);
+ boolean validateCompatibleEAttributePropertyTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- boolean validateCompatibleSourceIndex(DiagnosticChain diagnostics, Map<Object, Object> context);
+ boolean validateCompatibleSourceMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- boolean validateCompatibleRestPropertyTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+ boolean validateCompatibleEReferencePropertyTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- boolean validateCompatibleEAttributePropertyTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+ boolean validateCompatiblePropertySource(DiagnosticChain diagnostics, Map<Object, Object> context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- boolean validateCompatiblePropertySource(DiagnosticChain diagnostics, Map<Object, Object> context);
+ boolean validateCompatibleSourceIndex(DiagnosticChain diagnostics, Map<Object, Object> context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- boolean validateCompatibleSourceMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context);
+ boolean validateCompatibleRestPropertyTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- boolean validateCompatibleEReferencePropertyTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+ boolean validateCompatibleMemberPropertyTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
} // RelPatternEdge
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternExpressionNode.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternExpressionNode.java
deleted file mode 100644
index 81b4b8454..000000000
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternExpressionNode.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Copyright (c) 2016 Willink Transformations and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * E.D.Willink - Initial API and implementation
- */
-package org.eclipse.qvtd.umlx;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Rel Constraint Node</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.qvtd.umlx.UMLXPackage#getRelPatternExpressionNode()
- * @generated
- */
-public interface RelPatternExpressionNode extends RelPatternNode {
-
-} // RelConstraintNode
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternNode.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternNode.java
index d258c8f0b..16ec127a6 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternNode.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/RelPatternNode.java
@@ -10,6 +10,8 @@
*/
package org.eclipse.qvtd.umlx;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;
@@ -24,15 +26,17 @@ import org.eclipse.emf.common.util.EList;
* <ul>
* <li>{@link org.eclipse.qvtd.umlx.RelPatternNode#getIncoming <em>Incoming</em>}</li>
* <li>{@link org.eclipse.qvtd.umlx.RelPatternNode#getInitExpressionLines <em>Init Expression Lines</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.RelPatternNode#getInvokingRelInvocationEdges <em>Invoking Rel Invocation Edges</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.RelPatternNode#isIsAnon <em>Is Anon</em>}</li>
* <li>{@link org.eclipse.qvtd.umlx.RelPatternNode#isIsRoot <em>Is Root</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.RelPatternNode#getOutgoing <em>Outgoing</em>}</li>
* <li>{@link org.eclipse.qvtd.umlx.RelPatternNode#getOwningRelDomainNode <em>Owning Rel Domain Node</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.RelPatternNode#getInvokingRelInvocationEdges <em>Invoking Rel Invocation Edges</em>}</li>
* </ul>
*
* @see org.eclipse.qvtd.umlx.UMLXPackage#getRelPatternNode()
* @generated
*/
-public interface RelPatternNode extends RelNode {
+public interface RelPatternNode extends RelNode, UMLXTypedElement {
/**
* Returns the value of the '<em><b>Incoming</b></em>' reference list.
@@ -93,6 +97,23 @@ public interface RelPatternNode extends RelNode {
void setIsRoot(boolean value);
/**
+ * Returns the value of the '<em><b>Outgoing</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.umlx.RelPatternEdge}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.umlx.RelPatternEdge#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Outgoing</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Outgoing</em>' reference list.
+ * @see org.eclipse.qvtd.umlx.UMLXPackage#getRelPatternNode_Outgoing()
+ * @see org.eclipse.qvtd.umlx.RelPatternEdge#getSource
+ * @generated
+ */
+ EList<RelPatternEdge> getOutgoing();
+
+ /**
* Returns the value of the '<em><b>Owning Rel Domain Node</b></em>' container reference.
* It is bidirectional and its opposite is '{@link org.eclipse.qvtd.umlx.RelDomainNode#getOwnedRelPatternNodes <em>Owned Rel Pattern Nodes</em>}'.
* <!-- begin-user-doc -->
@@ -120,6 +141,34 @@ public interface RelPatternNode extends RelNode {
void setOwningRelDomainNode(RelDomainNode value);
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ Boolean isExpression();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ boolean validateAnonIsUnnamed(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ boolean validateTypeIsRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ boolean validateEClassifierIsInTypedModel(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
* Returns the value of the '<em><b>Invoking Rel Invocation Edges</b></em>' reference list.
* The list contents are of type {@link org.eclipse.qvtd.umlx.RelInvocationEdge}.
* It is bidirectional and its opposite is '{@link org.eclipse.qvtd.umlx.RelInvocationEdge#getInvokingRelPatternNode <em>Invoking Rel Pattern Node</em>}'.
@@ -135,4 +184,30 @@ public interface RelPatternNode extends RelNode {
* @generated
*/
EList<RelInvocationEdge> getInvokingRelInvocationEdges();
+
+ /**
+ * Returns the value of the '<em><b>Is Anon</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Anon</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Anon</em>' attribute.
+ * @see #setIsAnon(boolean)
+ * @see org.eclipse.qvtd.umlx.UMLXPackage#getRelPatternNode_IsAnon()
+ * @generated
+ */
+ boolean isIsAnon();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.umlx.RelPatternNode#isIsAnon <em>Is Anon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Anon</em>' attribute.
+ * @see #isIsAnon()
+ * @generated
+ */
+ void setIsAnon(boolean value);
} // RelNode
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxDiagram.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxDiagram.java
index 33486f11c..1e8e48783 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxDiagram.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxDiagram.java
@@ -150,6 +150,13 @@ public interface TxDiagram extends UMLXNamedElement {
* <!-- end-user-doc -->
* @generated
*/
+ boolean validateTxQueryNodeNamesAreUnique(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
boolean validateRelDiagramNamesAreUnique(DiagnosticChain diagnostics, Map<Object, Object> context);
/**
@@ -157,13 +164,13 @@ public interface TxDiagram extends UMLXNamedElement {
* <!-- end-user-doc -->
* @generated
*/
- boolean validateTxTypedModelNodeNamesAreUnique(DiagnosticChain diagnostics, Map<Object, Object> context);
+ boolean validateNameIsRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- boolean validateTxQueryNodeNamesAreUnique(DiagnosticChain diagnostics, Map<Object, Object> context);
+ boolean validateTxTypedModelNodeNamesAreUnique(DiagnosticChain diagnostics, Map<Object, Object> context);
} // TxDiagram
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxImportNode.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxImportNode.java
index 1e9d575f2..5ca2069e9 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxImportNode.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxImportNode.java
@@ -10,6 +10,9 @@
*/
package org.eclipse.qvtd.umlx;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+
/**
* <!-- begin-user-doc -->
@@ -80,4 +83,11 @@ public interface TxImportNode extends TxNode, UMLXNamedElement {
*/
void setUri(String value);
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ boolean validateNameIsRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
+
} // TxImportNode
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxParameterNode.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxParameterNode.java
index c2af64cd6..50ba1190e 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxParameterNode.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxParameterNode.java
@@ -10,6 +10,9 @@
*/
package org.eclipse.qvtd.umlx;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+
/**
* <!-- begin-user-doc -->
@@ -54,4 +57,18 @@ public interface TxParameterNode extends TxNode, UMLXTypedElement {
*/
void setOwningTxQueryNode(TxQueryNode value);
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ boolean validateNameIsRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ boolean validateTypeIsRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
+
} // TxParameterNode
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxQueryNode.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxQueryNode.java
index 582d69895..c798aec29 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxQueryNode.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxQueryNode.java
@@ -97,6 +97,20 @@ public interface TxQueryNode extends TxNode, UMLXTypedElement {
* <!-- end-user-doc -->
* @generated
*/
+ boolean validateNameIsRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ boolean validateTypeIsRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
boolean validateParametersAreUnique(DiagnosticChain diagnostics, Map<Object, Object> context);
} // TxQueryNode
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxTypedModelNode.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxTypedModelNode.java
index 335beb152..afe5bc880 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxTypedModelNode.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/TxTypedModelNode.java
@@ -136,4 +136,11 @@ public interface TxTypedModelNode extends TxNode, UMLXNamedElement {
*/
boolean validateTxPackageNodePackagesAreUnique(DiagnosticChain diagnostics, Map<Object, Object> context);
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ boolean validateNameIsRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
+
} // TxTypedModelNode
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXFactory.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXFactory.java
index 8d84e4a9a..ce6019a9b 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXFactory.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXFactory.java
@@ -67,15 +67,6 @@ public interface UMLXFactory extends EFactory {
@NonNull RelInvocationNode createRelInvocationNode();
/**
- * Returns a new object of class '<em>Rel Pattern Class Node</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Rel Pattern Class Node</em>'.
- * @generated
- */
- @NonNull RelPatternClassNode createRelPatternClassNode();
-
- /**
* Returns a new object of class '<em>Rel Pattern Edge</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -85,13 +76,13 @@ public interface UMLXFactory extends EFactory {
@NonNull RelPatternEdge createRelPatternEdge();
/**
- * Returns a new object of class '<em>Rel Pattern Expression Node</em>'.
+ * Returns a new object of class '<em>Rel Pattern Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Rel Pattern Expression Node</em>'.
+ * @return a new object of class '<em>Rel Pattern Node</em>'.
* @generated
*/
- @NonNull RelPatternExpressionNode createRelPatternExpressionNode();
+ @NonNull RelPatternNode createRelPatternNode();
/**
* Returns a new object of class '<em>Tx Diagram</em>'.
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXPackage.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXPackage.java
index 7557f881d..3c45ceaf9 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXPackage.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXPackage.java
@@ -79,7 +79,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getUMLXElement()
* @generated
*/
- int UMLX_ELEMENT = 19;
+ int UMLX_ELEMENT = 17;
/**
* The feature id for the '<em><b>Comments</b></em>' attribute list.
@@ -100,16 +100,6 @@ public interface UMLXPackage extends EPackage {
int UMLX_ELEMENT_FEATURE_COUNT = 1;
/**
- * The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl <em>Rel Pattern Class Node</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl
- * @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getRelPatternClassNode()
- * @generated
- */
- int REL_PATTERN_CLASS_NODE = 6;
-
- /**
* The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.UMLXNamedElementImpl <em>Named Element</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -117,7 +107,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getUMLXNamedElement()
* @generated
*/
- int UMLX_NAMED_ELEMENT = 21;
+ int UMLX_NAMED_ELEMENT = 19;
/**
* The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.RelDiagramImpl <em>Rel Diagram</em>}' class.
@@ -177,7 +167,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getRelPatternEdge()
* @generated
*/
- int REL_PATTERN_EDGE = 7;
+ int REL_PATTERN_EDGE = 6;
/**
* The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.TxDiagramImpl <em>Tx Diagram</em>}' class.
@@ -187,7 +177,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getTxDiagram()
* @generated
*/
- int TX_DIAGRAM = 10;
+ int TX_DIAGRAM = 8;
/**
* The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.TxNodeImpl <em>Tx Node</em>}' class.
@@ -197,7 +187,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getTxNode()
* @generated
*/
- int TX_NODE = 13;
+ int TX_NODE = 11;
/**
* The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.TxImportNodeImpl <em>Tx Import Node</em>}' class.
@@ -207,7 +197,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getTxImportNode()
* @generated
*/
- int TX_IMPORT_NODE = 11;
+ int TX_IMPORT_NODE = 9;
/**
* The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.TxKeyNodeImpl <em>Tx Key Node</em>}' class.
@@ -217,7 +207,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getTxKeyNode()
* @generated
*/
- int TX_KEY_NODE = 12;
+ int TX_KEY_NODE = 10;
/**
* The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.TxPartNodeImpl <em>Tx Part Node</em>}' class.
@@ -227,7 +217,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getTxPartNode()
* @generated
*/
- int TX_PART_NODE = 16;
+ int TX_PART_NODE = 14;
/**
* The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.TxPackageNodeImpl <em>Tx Package Node</em>}' class.
@@ -237,7 +227,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getTxPackageNode()
* @generated
*/
- int TX_PACKAGE_NODE = 14;
+ int TX_PACKAGE_NODE = 12;
/**
* The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.TxTypedModelNodeImpl <em>Tx Typed Model Node</em>}' class.
@@ -247,7 +237,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getTxTypedModelNode()
* @generated
*/
- int TX_TYPED_MODEL_NODE = 18;
+ int TX_TYPED_MODEL_NODE = 16;
/**
* The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.UMLXModelImpl <em>Model</em>}' class.
@@ -257,7 +247,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getUMLXModel()
* @generated
*/
- int UMLX_MODEL = 20;
+ int UMLX_MODEL = 18;
/**
* The feature id for the '<em><b>Comments</b></em>' attribute list.
@@ -556,7 +546,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getRelPatternNode()
* @generated
*/
- int REL_PATTERN_NODE = 9;
+ int REL_PATTERN_NODE = 7;
/**
* The feature id for the '<em><b>Comments</b></em>' attribute list.
@@ -565,34 +555,7 @@ public interface UMLXPackage extends EPackage {
* @generated
* @ordered
*/
- int REL_PATTERN_NODE__COMMENTS = REL_NODE__COMMENTS;
-
- /**
- * The feature id for the '<em><b>Incoming</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_NODE__INCOMING = REL_NODE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Init Expression Lines</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_NODE__INIT_EXPRESSION_LINES = REL_NODE_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Is Root</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_NODE__IS_ROOT = REL_NODE_FEATURE_COUNT + 2;
+ int REL_PATTERN_EDGE__COMMENTS = REL_EDGE__COMMENTS;
/**
* The feature id for the '<em><b>Owning Rel Domain Node</b></em>' container reference.
@@ -601,79 +564,61 @@ public interface UMLXPackage extends EPackage {
* @generated
* @ordered
*/
- int REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE = REL_NODE_FEATURE_COUNT + 3;
-
- /**
- * The feature id for the '<em><b>Invoking Rel Invocation Edges</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES = REL_NODE_FEATURE_COUNT + 4;
-
- /**
- * The number of structural features of the '<em>Rel Pattern Node</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_NODE_FEATURE_COUNT = REL_NODE_FEATURE_COUNT + 5;
+ int REL_PATTERN_EDGE__OWNING_REL_DOMAIN_NODE = REL_EDGE_FEATURE_COUNT + 0;
/**
- * The feature id for the '<em><b>Comments</b></em>' attribute list.
+ * The feature id for the '<em><b>Referred EStructural Feature</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__COMMENTS = REL_PATTERN_NODE__COMMENTS;
+ int REL_PATTERN_EDGE__REFERRED_ESTRUCTURAL_FEATURE = REL_EDGE_FEATURE_COUNT + 1;
/**
- * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * The feature id for the '<em><b>Source</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__INCOMING = REL_PATTERN_NODE__INCOMING;
+ int REL_PATTERN_EDGE__SOURCE = REL_EDGE_FEATURE_COUNT + 2;
/**
- * The feature id for the '<em><b>Init Expression Lines</b></em>' attribute list.
+ * The feature id for the '<em><b>Source Index</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__INIT_EXPRESSION_LINES = REL_PATTERN_NODE__INIT_EXPRESSION_LINES;
+ int REL_PATTERN_EDGE__SOURCE_INDEX = REL_EDGE_FEATURE_COUNT + 3;
/**
- * The feature id for the '<em><b>Is Root</b></em>' attribute.
+ * The feature id for the '<em><b>Target</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__IS_ROOT = REL_PATTERN_NODE__IS_ROOT;
+ int REL_PATTERN_EDGE__TARGET = REL_EDGE_FEATURE_COUNT + 4;
/**
- * The feature id for the '<em><b>Owning Rel Domain Node</b></em>' container reference.
+ * The number of structural features of the '<em>Rel Pattern Edge</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__OWNING_REL_DOMAIN_NODE = REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE;
+ int REL_PATTERN_EDGE_FEATURE_COUNT = REL_EDGE_FEATURE_COUNT + 5;
/**
- * The feature id for the '<em><b>Invoking Rel Invocation Edges</b></em>' reference list.
+ * The feature id for the '<em><b>Comments</b></em>' attribute list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__INVOKING_REL_INVOCATION_EDGES = REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES;
+ int REL_PATTERN_NODE__COMMENTS = REL_NODE__COMMENTS;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -682,7 +627,7 @@ public interface UMLXPackage extends EPackage {
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__NAME = REL_PATTERN_NODE_FEATURE_COUNT + 0;
+ int REL_PATTERN_NODE__NAME = REL_NODE_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Is Many</b></em>' attribute.
@@ -691,7 +636,7 @@ public interface UMLXPackage extends EPackage {
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__IS_MANY = REL_PATTERN_NODE_FEATURE_COUNT + 1;
+ int REL_PATTERN_NODE__IS_MANY = REL_NODE_FEATURE_COUNT + 1;
/**
* The feature id for the '<em><b>Is Null Free</b></em>' attribute.
@@ -700,7 +645,7 @@ public interface UMLXPackage extends EPackage {
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__IS_NULL_FREE = REL_PATTERN_NODE_FEATURE_COUNT + 2;
+ int REL_PATTERN_NODE__IS_NULL_FREE = REL_NODE_FEATURE_COUNT + 2;
/**
* The feature id for the '<em><b>Is Ordered</b></em>' attribute.
@@ -709,7 +654,7 @@ public interface UMLXPackage extends EPackage {
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__IS_ORDERED = REL_PATTERN_NODE_FEATURE_COUNT + 3;
+ int REL_PATTERN_NODE__IS_ORDERED = REL_NODE_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Is Required</b></em>' attribute.
@@ -718,7 +663,7 @@ public interface UMLXPackage extends EPackage {
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__IS_REQUIRED = REL_PATTERN_NODE_FEATURE_COUNT + 4;
+ int REL_PATTERN_NODE__IS_REQUIRED = REL_NODE_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Is Unique</b></em>' attribute.
@@ -727,7 +672,7 @@ public interface UMLXPackage extends EPackage {
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__IS_UNIQUE = REL_PATTERN_NODE_FEATURE_COUNT + 5;
+ int REL_PATTERN_NODE__IS_UNIQUE = REL_NODE_FEATURE_COUNT + 5;
/**
* The feature id for the '<em><b>Referred EClassifier</b></em>' reference.
@@ -736,143 +681,43 @@ public interface UMLXPackage extends EPackage {
* @generated
* @ordered
*/
- int REL_PATTERN_CLASS_NODE__REFERRED_ECLASSIFIER = REL_PATTERN_NODE_FEATURE_COUNT + 6;
-
- /**
- * The feature id for the '<em><b>Is Anon</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_CLASS_NODE__IS_ANON = REL_PATTERN_NODE_FEATURE_COUNT + 7;
-
- /**
- * The feature id for the '<em><b>Outgoing</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_CLASS_NODE__OUTGOING = REL_PATTERN_NODE_FEATURE_COUNT + 8;
-
- /**
- * The feature id for the '<em><b>Rel Domain Node</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE = REL_PATTERN_NODE_FEATURE_COUNT + 9;
-
- /**
- * The number of structural features of the '<em>Rel Pattern Class Node</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_CLASS_NODE_FEATURE_COUNT = REL_PATTERN_NODE_FEATURE_COUNT + 10;
-
- /**
- * The feature id for the '<em><b>Comments</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_EDGE__COMMENTS = REL_EDGE__COMMENTS;
-
- /**
- * The feature id for the '<em><b>Owning Rel Domain Node</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_EDGE__OWNING_REL_DOMAIN_NODE = REL_EDGE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Referred EStructural Feature</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_EDGE__REFERRED_ESTRUCTURAL_FEATURE = REL_EDGE_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_EDGE__SOURCE = REL_EDGE_FEATURE_COUNT + 2;
+ int REL_PATTERN_NODE__REFERRED_ECLASSIFIER = REL_NODE_FEATURE_COUNT + 6;
/**
- * The feature id for the '<em><b>Source Index</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_EDGE__SOURCE_INDEX = REL_EDGE_FEATURE_COUNT + 3;
-
- /**
- * The feature id for the '<em><b>Target</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REL_PATTERN_EDGE__TARGET = REL_EDGE_FEATURE_COUNT + 4;
-
- /**
- * The number of structural features of the '<em>Rel Pattern Edge</em>' class.
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_EDGE_FEATURE_COUNT = REL_EDGE_FEATURE_COUNT + 5;
-
- /**
- * The meta object id for the '{@link org.eclipse.qvtd.umlx.impl.RelPatternExpressionNodeImpl <em>Rel Pattern Expression Node</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.umlx.impl.RelPatternExpressionNodeImpl
- * @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getRelPatternExpressionNode()
- * @generated
- */
- int REL_PATTERN_EXPRESSION_NODE = 8;
+ int REL_PATTERN_NODE__INCOMING = REL_NODE_FEATURE_COUNT + 7;
/**
- * The feature id for the '<em><b>Comments</b></em>' attribute list.
+ * The feature id for the '<em><b>Init Expression Lines</b></em>' attribute list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_EXPRESSION_NODE__COMMENTS = REL_PATTERN_NODE__COMMENTS;
+ int REL_PATTERN_NODE__INIT_EXPRESSION_LINES = REL_NODE_FEATURE_COUNT + 8;
/**
- * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * The feature id for the '<em><b>Invoking Rel Invocation Edges</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_EXPRESSION_NODE__INCOMING = REL_PATTERN_NODE__INCOMING;
+ int REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES = REL_NODE_FEATURE_COUNT + 9;
/**
- * The feature id for the '<em><b>Init Expression Lines</b></em>' attribute list.
+ * The feature id for the '<em><b>Is Anon</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_EXPRESSION_NODE__INIT_EXPRESSION_LINES = REL_PATTERN_NODE__INIT_EXPRESSION_LINES;
+ int REL_PATTERN_NODE__IS_ANON = REL_NODE_FEATURE_COUNT + 10;
/**
* The feature id for the '<em><b>Is Root</b></em>' attribute.
@@ -881,34 +726,34 @@ public interface UMLXPackage extends EPackage {
* @generated
* @ordered
*/
- int REL_PATTERN_EXPRESSION_NODE__IS_ROOT = REL_PATTERN_NODE__IS_ROOT;
+ int REL_PATTERN_NODE__IS_ROOT = REL_NODE_FEATURE_COUNT + 11;
/**
- * The feature id for the '<em><b>Owning Rel Domain Node</b></em>' container reference.
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_EXPRESSION_NODE__OWNING_REL_DOMAIN_NODE = REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE;
+ int REL_PATTERN_NODE__OUTGOING = REL_NODE_FEATURE_COUNT + 12;
/**
- * The feature id for the '<em><b>Invoking Rel Invocation Edges</b></em>' reference list.
+ * The feature id for the '<em><b>Owning Rel Domain Node</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_EXPRESSION_NODE__INVOKING_REL_INVOCATION_EDGES = REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES;
+ int REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE = REL_NODE_FEATURE_COUNT + 13;
/**
- * The number of structural features of the '<em>Rel Pattern Expression Node</em>' class.
+ * The number of structural features of the '<em>Rel Pattern Node</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REL_PATTERN_EXPRESSION_NODE_FEATURE_COUNT = REL_PATTERN_NODE_FEATURE_COUNT + 0;
+ int REL_PATTERN_NODE_FEATURE_COUNT = REL_NODE_FEATURE_COUNT + 14;
/**
* The feature id for the '<em><b>Comments</b></em>' attribute list.
@@ -1143,7 +988,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getTxParameterNode()
* @generated
*/
- int TX_PARAMETER_NODE = 15;
+ int TX_PARAMETER_NODE = 13;
/**
* The feature id for the '<em><b>Comments</b></em>' attribute list.
@@ -1288,7 +1133,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getTxQueryNode()
* @generated
*/
- int TX_QUERY_NODE = 17;
+ int TX_QUERY_NODE = 15;
/**
* The feature id for the '<em><b>Comments</b></em>' attribute list.
@@ -1496,7 +1341,7 @@ public interface UMLXPackage extends EPackage {
* @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getUMLXTypedElement()
* @generated
*/
- int UMLX_TYPED_ELEMENT = 22;
+ int UMLX_TYPED_ELEMENT = 20;
/**
* The feature id for the '<em><b>Comments</b></em>' attribute list.
@@ -1870,16 +1715,6 @@ public interface UMLXPackage extends EPackage {
EReference getRelPatternEdge_Target();
/**
- * Returns the meta object for class '{@link org.eclipse.qvtd.umlx.RelPatternExpressionNode <em>Rel Pattern Expression Node</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Rel Pattern Expression Node</em>'.
- * @see org.eclipse.qvtd.umlx.RelPatternExpressionNode
- * @generated
- */
- EClass getRelPatternExpressionNode();
-
- /**
* Returns the meta object for class '{@link org.eclipse.qvtd.umlx.RelPatternNode <em>Rel Pattern Node</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1923,6 +1758,17 @@ public interface UMLXPackage extends EPackage {
EAttribute getRelPatternNode_IsRoot();
/**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.umlx.RelPatternNode#getOutgoing <em>Outgoing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Outgoing</em>'.
+ * @see org.eclipse.qvtd.umlx.RelPatternNode#getOutgoing()
+ * @see #getRelPatternNode()
+ * @generated
+ */
+ EReference getRelPatternNode_Outgoing();
+
+ /**
* Returns the meta object for the container reference '{@link org.eclipse.qvtd.umlx.RelPatternNode#getOwningRelDomainNode <em>Owning Rel Domain Node</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1945,6 +1791,17 @@ public interface UMLXPackage extends EPackage {
EReference getRelPatternNode_InvokingRelInvocationEdges();
/**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.umlx.RelPatternNode#isIsAnon <em>Is Anon</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Anon</em>'.
+ * @see org.eclipse.qvtd.umlx.RelPatternNode#isIsAnon()
+ * @see #getRelPatternNode()
+ * @generated
+ */
+ EAttribute getRelPatternNode_IsAnon();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.qvtd.umlx.TxDiagram <em>Tx Diagram</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2438,49 +2295,6 @@ public interface UMLXPackage extends EPackage {
EReference getUMLXTypedElement_ReferredEClassifier();
/**
- * Returns the meta object for class '{@link org.eclipse.qvtd.umlx.RelPatternClassNode <em>Rel Pattern Class Node</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Rel Pattern Class Node</em>'.
- * @see org.eclipse.qvtd.umlx.RelPatternClassNode
- * @generated
- */
- EClass getRelPatternClassNode();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.qvtd.umlx.RelPatternClassNode#isIsAnon <em>Is Anon</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Is Anon</em>'.
- * @see org.eclipse.qvtd.umlx.RelPatternClassNode#isIsAnon()
- * @see #getRelPatternClassNode()
- * @generated
- */
- EAttribute getRelPatternClassNode_IsAnon();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.qvtd.umlx.RelPatternClassNode#getOutgoing <em>Outgoing</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Outgoing</em>'.
- * @see org.eclipse.qvtd.umlx.RelPatternClassNode#getOutgoing()
- * @see #getRelPatternClassNode()
- * @generated
- */
- EReference getRelPatternClassNode_Outgoing();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.qvtd.umlx.RelPatternClassNode#getRelDomainNode <em>Rel Domain Node</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Rel Domain Node</em>'.
- * @see org.eclipse.qvtd.umlx.RelPatternClassNode#getRelDomainNode()
- * @see #getRelPatternClassNode()
- * @generated
- */
- EReference getRelPatternClassNode_RelDomainNode();
-
- /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2734,16 +2548,6 @@ public interface UMLXPackage extends EPackage {
EReference REL_PATTERN_EDGE__TARGET = eINSTANCE.getRelPatternEdge_Target();
/**
- * The meta object literal for the '{@link org.eclipse.qvtd.umlx.impl.RelPatternExpressionNodeImpl <em>Rel Pattern Expression Node</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.umlx.impl.RelPatternExpressionNodeImpl
- * @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getRelPatternExpressionNode()
- * @generated
- */
- EClass REL_PATTERN_EXPRESSION_NODE = eINSTANCE.getRelPatternExpressionNode();
-
- /**
* The meta object literal for the '{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl <em>Rel Pattern Node</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2778,6 +2582,14 @@ public interface UMLXPackage extends EPackage {
EAttribute REL_PATTERN_NODE__IS_ROOT = eINSTANCE.getRelPatternNode_IsRoot();
/**
+ * The meta object literal for the '<em><b>Outgoing</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REL_PATTERN_NODE__OUTGOING = eINSTANCE.getRelPatternNode_Outgoing();
+
+ /**
* The meta object literal for the '<em><b>Owning Rel Domain Node</b></em>' container reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2794,6 +2606,14 @@ public interface UMLXPackage extends EPackage {
EReference REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES = eINSTANCE.getRelPatternNode_InvokingRelInvocationEdges();
/**
+ * The meta object literal for the '<em><b>Is Anon</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REL_PATTERN_NODE__IS_ANON = eINSTANCE.getRelPatternNode_IsAnon();
+
+ /**
* The meta object literal for the '{@link org.eclipse.qvtd.umlx.impl.TxDiagramImpl <em>Tx Diagram</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3187,40 +3007,6 @@ public interface UMLXPackage extends EPackage {
*/
EReference UMLX_TYPED_ELEMENT__REFERRED_ECLASSIFIER = eINSTANCE.getUMLXTypedElement_ReferredEClassifier();
- /**
- * The meta object literal for the '{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl <em>Rel Pattern Class Node</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl
- * @see org.eclipse.qvtd.umlx.impl.UMLXPackageImpl#getRelPatternClassNode()
- * @generated
- */
- EClass REL_PATTERN_CLASS_NODE = eINSTANCE.getRelPatternClassNode();
-
- /**
- * The meta object literal for the '<em><b>Is Anon</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute REL_PATTERN_CLASS_NODE__IS_ANON = eINSTANCE.getRelPatternClassNode_IsAnon();
-
- /**
- * The meta object literal for the '<em><b>Outgoing</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference REL_PATTERN_CLASS_NODE__OUTGOING = eINSTANCE.getRelPatternClassNode_Outgoing();
-
- /**
- * The meta object literal for the '<em><b>Rel Domain Node</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE = eINSTANCE.getRelPatternClassNode_RelDomainNode();
-
}
} //UMLXPackage
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXTables.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXTables.java
index e290c1adb..83007e2a6 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXTables.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/UMLXTables.java
@@ -20,6 +20,7 @@
package org.eclipse.qvtd.umlx;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.TemplateParameters;
import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorPackage;
import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorProperty;
import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorType;
@@ -31,6 +32,7 @@ import org.eclipse.ocl.pivot.internal.library.executor.ExecutorPropertyWithImple
import org.eclipse.ocl.pivot.internal.library.executor.ExecutorStandardLibrary;
import org.eclipse.ocl.pivot.internal.library.executor.ExecutorType;
import org.eclipse.ocl.pivot.oclstdlib.OCLstdlibTables;
+import org.eclipse.ocl.pivot.utilities.TypeUtil;
import org.eclipse.qvtd.umlx.UMLXTables;
/**
@@ -73,7 +75,6 @@ public class UMLXTables
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_RelDomainNode = org.eclipse.qvtd.umlx.UMLXTables.PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2016_s_UMLX.getClassId("RelDomainNode", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_RelInvocationEdge = org.eclipse.qvtd.umlx.UMLXTables.PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2016_s_UMLX.getClassId("RelInvocationEdge", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_RelInvocationNode = org.eclipse.qvtd.umlx.UMLXTables.PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2016_s_UMLX.getClassId("RelInvocationNode", 0);
- public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_RelPatternClassNode = org.eclipse.qvtd.umlx.UMLXTables.PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2016_s_UMLX.getClassId("RelPatternClassNode", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_RelPatternEdge = org.eclipse.qvtd.umlx.UMLXTables.PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2016_s_UMLX.getClassId("RelPatternEdge", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_RelPatternNode = org.eclipse.qvtd.umlx.UMLXTables.PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2016_s_UMLX.getClassId("RelPatternNode", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_TxDiagram = org.eclipse.qvtd.umlx.UMLXTables.PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2016_s_UMLX.getClassId("TxDiagram", 0);
@@ -94,12 +95,11 @@ public class UMLXTables
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SEQ_PRIMid_String = org.eclipse.ocl.pivot.ids.TypeId.SEQUENCE.getSpecializedId(org.eclipse.ocl.pivot.ids.TypeId.STRING);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SET_PRIMid_String = org.eclipse.ocl.pivot.ids.TypeId.SET.getSpecializedId(org.eclipse.ocl.pivot.ids.TypeId.STRING);
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_ = "";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelDiagram_c_c_NameIsRequired = "RelDiagram::NameIsRequired";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelDiagram_c_c_RelPatternNodeNamesAreUnique = "RelDiagram::RelPatternNodeNamesAreUnique";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelDiagram_c_c_RelPatternNodeNamesAreUnique_c = "RelDiagram::RelPatternNodeNamesAreUnique:";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelInvocationNode_c_c_CompatibleEdges = "RelInvocationNode::CompatibleEdges";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelInvocationNode_c_c_CompatibleEdges_32 = "RelInvocationNode::CompatibleEdges ";
- public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternClassNode_c_c_AnonIsUnnamed = "RelPatternClassNode::AnonIsUnnamed";
- public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternClassNode_c_c_EClassifierIsInTypedModel = "RelPatternClassNode::EClassifierIsInTypedModel";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternEdge_c_c_CompatibleEAttributePropertyTarget = "RelPatternEdge::CompatibleEAttributePropertyTarget";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternEdge_c_c_CompatibleEReferencePropertyTarget = "RelPatternEdge::CompatibleEReferencePropertyTarget";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternEdge_c_c_CompatibleMemberPropertyTarget = "RelPatternEdge::CompatibleMemberPropertyTarget";
@@ -109,12 +109,22 @@ public class UMLXTables
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternEdge_c_c_CompatibleSourceMultiplicity = "RelPatternEdge::CompatibleSourceMultiplicity";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternEdge_c_c_SourceIsClassNode = "RelPatternEdge::SourceIsClassNode";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternEdge_c_c_SourceIsEClass = "RelPatternEdge::SourceIsEClass";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternNode_c_c_AnonIsUnnamed = "RelPatternNode::AnonIsUnnamed";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternNode_c_c_EClassifierIsInTypedModel = "RelPatternNode::EClassifierIsInTypedModel";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_RelPatternNode_c_c_TypeIsRequired = "RelPatternNode::TypeIsRequired";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxDiagram_c_c_NameIsRequired = "TxDiagram::NameIsRequired";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxDiagram_c_c_RelDiagramNamesAreUnique = "TxDiagram::RelDiagramNamesAreUnique";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxDiagram_c_c_TxQueryNodeNamesAreUnique = "TxDiagram::TxQueryNodeNamesAreUnique";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxDiagram_c_c_TxTypedModelNodeNamesAreUnique = "TxDiagram::TxTypedModelNodeNamesAreUnique";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxImportNode_c_c_NameIsRequired = "TxImportNode::NameIsRequired";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxKeyNode_c_c_PartsAreUnique = "TxKeyNode::PartsAreUnique";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxParameterNode_c_c_NameIsRequired = "TxParameterNode::NameIsRequired";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxParameterNode_c_c_TypeIsRequired = "TxParameterNode::TypeIsRequired";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxPartNode_c_c_PartIsPropertyOfKey = "TxPartNode::PartIsPropertyOfKey";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxQueryNode_c_c_NameIsRequired = "TxQueryNode::NameIsRequired";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxQueryNode_c_c_ParametersAreUnique = "TxQueryNode::ParametersAreUnique";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxQueryNode_c_c_TypeIsRequired = "TxQueryNode::TypeIsRequired";
+ public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxTypedModelNode_c_c_NameIsRequired = "TxTypedModelNode::NameIsRequired";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR_TxTypedModelNode_c_c_TxPackageNodePackagesAreUnique = "TxTypedModelNode::TxPackageNodePackagesAreUnique";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR__32_39 = " \'";
public static final /*@NonInvalid*/ java.lang.@org.eclipse.jdt.annotation.NonNull String STR__32_are_32_not_32_unique_32_for_32 = " are not unique for ";
@@ -123,7 +133,6 @@ public class UMLXTables
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_RelDomainNode = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_RelDomainNode);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_RelInvocationEdge = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_RelInvocationEdge);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_RelInvocationNode = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_RelInvocationNode);
- public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId BAG_CLSSid_RelPatternClassNode = org.eclipse.ocl.pivot.ids.TypeId.BAG.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_RelPatternClassNode);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_EClass = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_EClass);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_EClassifier = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_EClassifier);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_RelDiagram = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_RelDiagram);
@@ -142,10 +151,8 @@ public class UMLXTables
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_TxTypedModelNode = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_TxTypedModelNode);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SEQ_CLSSid_EClassifier = org.eclipse.ocl.pivot.ids.TypeId.SEQUENCE.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_EClassifier);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SEQ_CLSSid_EPackage = org.eclipse.ocl.pivot.ids.TypeId.SEQUENCE.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_EPackage);
- public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SEQ_CLSSid_RelPatternClassNode = org.eclipse.ocl.pivot.ids.TypeId.SEQUENCE.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_RelPatternClassNode);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SEQ_CLSSid_RelPatternNode = org.eclipse.ocl.pivot.ids.TypeId.SEQUENCE.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_RelPatternNode);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SET_CLSSid_EClass = org.eclipse.ocl.pivot.ids.TypeId.SET.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_EClass);
- public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SET_CLSSid_RelPatternClassNode = org.eclipse.ocl.pivot.ids.TypeId.SET.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_RelPatternClassNode);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SET_CLSSid_RelPatternNode = org.eclipse.ocl.pivot.ids.TypeId.SET.getSpecializedId(org.eclipse.qvtd.umlx.UMLXTables.CLSSid_RelPatternNode);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull TupleTypeId TUPLid_ = org.eclipse.ocl.pivot.ids.IdManager.getTupleTypeId("Tuple", org.eclipse.qvtd.umlx.UMLXTables.PARTid__0, org.eclipse.qvtd.umlx.UMLXTables.PARTid_);
@@ -183,10 +190,8 @@ public class UMLXTables
public static final @NonNull EcoreExecutorType _RelInvocationEdge = new EcoreExecutorType(UMLXPackage.Literals.REL_INVOCATION_EDGE, PACKAGE, 0);
public static final @NonNull EcoreExecutorType _RelInvocationNode = new EcoreExecutorType(UMLXPackage.Literals.REL_INVOCATION_NODE, PACKAGE, 0);
public static final @NonNull EcoreExecutorType _RelNode = new EcoreExecutorType(UMLXPackage.Literals.REL_NODE, PACKAGE, 0 | ExecutorType.ABSTRACT);
- public static final @NonNull EcoreExecutorType _RelPatternClassNode = new EcoreExecutorType(UMLXPackage.Literals.REL_PATTERN_CLASS_NODE, PACKAGE, 0);
public static final @NonNull EcoreExecutorType _RelPatternEdge = new EcoreExecutorType(UMLXPackage.Literals.REL_PATTERN_EDGE, PACKAGE, 0);
- public static final @NonNull EcoreExecutorType _RelPatternExpressionNode = new EcoreExecutorType(UMLXPackage.Literals.REL_PATTERN_EXPRESSION_NODE, PACKAGE, 0);
- public static final @NonNull EcoreExecutorType _RelPatternNode = new EcoreExecutorType(UMLXPackage.Literals.REL_PATTERN_NODE, PACKAGE, 0 | ExecutorType.ABSTRACT);
+ public static final @NonNull EcoreExecutorType _RelPatternNode = new EcoreExecutorType(UMLXPackage.Literals.REL_PATTERN_NODE, PACKAGE, 0);
public static final @NonNull EcoreExecutorType _TxDiagram = new EcoreExecutorType(UMLXPackage.Literals.TX_DIAGRAM, PACKAGE, 0);
public static final @NonNull EcoreExecutorType _TxImportNode = new EcoreExecutorType(UMLXPackage.Literals.TX_IMPORT_NODE, PACKAGE, 0);
public static final @NonNull EcoreExecutorType _TxKeyNode = new EcoreExecutorType(UMLXPackage.Literals.TX_KEY_NODE, PACKAGE, 0);
@@ -208,9 +213,7 @@ public class UMLXTables
_RelInvocationEdge,
_RelInvocationNode,
_RelNode,
- _RelPatternClassNode,
_RelPatternEdge,
- _RelPatternExpressionNode,
_RelPatternNode,
_TxDiagram,
_TxImportNode,
@@ -284,33 +287,19 @@ public class UMLXTables
private static final @NonNull ExecutorFragment _RelNode__RelNode = new ExecutorFragment(Types._RelNode, UMLXTables.Types._RelNode);
private static final @NonNull ExecutorFragment _RelNode__UMLXElement = new ExecutorFragment(Types._RelNode, UMLXTables.Types._UMLXElement);
- private static final @NonNull ExecutorFragment _RelPatternClassNode__OclAny = new ExecutorFragment(Types._RelPatternClassNode, OCLstdlibTables.Types._OclAny);
- private static final @NonNull ExecutorFragment _RelPatternClassNode__OclElement = new ExecutorFragment(Types._RelPatternClassNode, OCLstdlibTables.Types._OclElement);
- private static final @NonNull ExecutorFragment _RelPatternClassNode__RelNode = new ExecutorFragment(Types._RelPatternClassNode, UMLXTables.Types._RelNode);
- private static final @NonNull ExecutorFragment _RelPatternClassNode__RelPatternClassNode = new ExecutorFragment(Types._RelPatternClassNode, UMLXTables.Types._RelPatternClassNode);
- private static final @NonNull ExecutorFragment _RelPatternClassNode__RelPatternNode = new ExecutorFragment(Types._RelPatternClassNode, UMLXTables.Types._RelPatternNode);
- private static final @NonNull ExecutorFragment _RelPatternClassNode__UMLXElement = new ExecutorFragment(Types._RelPatternClassNode, UMLXTables.Types._UMLXElement);
- private static final @NonNull ExecutorFragment _RelPatternClassNode__UMLXNamedElement = new ExecutorFragment(Types._RelPatternClassNode, UMLXTables.Types._UMLXNamedElement);
- private static final @NonNull ExecutorFragment _RelPatternClassNode__UMLXTypedElement = new ExecutorFragment(Types._RelPatternClassNode, UMLXTables.Types._UMLXTypedElement);
-
private static final @NonNull ExecutorFragment _RelPatternEdge__OclAny = new ExecutorFragment(Types._RelPatternEdge, OCLstdlibTables.Types._OclAny);
private static final @NonNull ExecutorFragment _RelPatternEdge__OclElement = new ExecutorFragment(Types._RelPatternEdge, OCLstdlibTables.Types._OclElement);
private static final @NonNull ExecutorFragment _RelPatternEdge__RelEdge = new ExecutorFragment(Types._RelPatternEdge, UMLXTables.Types._RelEdge);
private static final @NonNull ExecutorFragment _RelPatternEdge__RelPatternEdge = new ExecutorFragment(Types._RelPatternEdge, UMLXTables.Types._RelPatternEdge);
private static final @NonNull ExecutorFragment _RelPatternEdge__UMLXElement = new ExecutorFragment(Types._RelPatternEdge, UMLXTables.Types._UMLXElement);
- private static final @NonNull ExecutorFragment _RelPatternExpressionNode__OclAny = new ExecutorFragment(Types._RelPatternExpressionNode, OCLstdlibTables.Types._OclAny);
- private static final @NonNull ExecutorFragment _RelPatternExpressionNode__OclElement = new ExecutorFragment(Types._RelPatternExpressionNode, OCLstdlibTables.Types._OclElement);
- private static final @NonNull ExecutorFragment _RelPatternExpressionNode__RelNode = new ExecutorFragment(Types._RelPatternExpressionNode, UMLXTables.Types._RelNode);
- private static final @NonNull ExecutorFragment _RelPatternExpressionNode__RelPatternExpressionNode = new ExecutorFragment(Types._RelPatternExpressionNode, UMLXTables.Types._RelPatternExpressionNode);
- private static final @NonNull ExecutorFragment _RelPatternExpressionNode__RelPatternNode = new ExecutorFragment(Types._RelPatternExpressionNode, UMLXTables.Types._RelPatternNode);
- private static final @NonNull ExecutorFragment _RelPatternExpressionNode__UMLXElement = new ExecutorFragment(Types._RelPatternExpressionNode, UMLXTables.Types._UMLXElement);
-
private static final @NonNull ExecutorFragment _RelPatternNode__OclAny = new ExecutorFragment(Types._RelPatternNode, OCLstdlibTables.Types._OclAny);
private static final @NonNull ExecutorFragment _RelPatternNode__OclElement = new ExecutorFragment(Types._RelPatternNode, OCLstdlibTables.Types._OclElement);
private static final @NonNull ExecutorFragment _RelPatternNode__RelNode = new ExecutorFragment(Types._RelPatternNode, UMLXTables.Types._RelNode);
private static final @NonNull ExecutorFragment _RelPatternNode__RelPatternNode = new ExecutorFragment(Types._RelPatternNode, UMLXTables.Types._RelPatternNode);
private static final @NonNull ExecutorFragment _RelPatternNode__UMLXElement = new ExecutorFragment(Types._RelPatternNode, UMLXTables.Types._UMLXElement);
+ private static final @NonNull ExecutorFragment _RelPatternNode__UMLXNamedElement = new ExecutorFragment(Types._RelPatternNode, UMLXTables.Types._UMLXNamedElement);
+ private static final @NonNull ExecutorFragment _RelPatternNode__UMLXTypedElement = new ExecutorFragment(Types._RelPatternNode, UMLXTables.Types._UMLXTypedElement);
private static final @NonNull ExecutorFragment _TxDiagram__OclAny = new ExecutorFragment(Types._TxDiagram, OCLstdlibTables.Types._OclAny);
private static final @NonNull ExecutorFragment _TxDiagram__OclElement = new ExecutorFragment(Types._TxDiagram, OCLstdlibTables.Types._OclElement);
@@ -438,6 +427,9 @@ public class UMLXTables
Parameters.init();
}
+ public static final @NonNull ExecutorOperation _RelPatternNode__isExpression = new ExecutorOperation("isExpression", TypeUtil.EMPTY_PARAMETER_TYPES, Types._RelPatternNode,
+ 0, TemplateParameters.EMPTY_LIST, null);
+
static {
Init.initEnd();
}
@@ -471,7 +463,6 @@ public class UMLXTables
public static final @NonNull ExecutorProperty _RelDomainNode__ownedRelPatternNodes = new EcoreExecutorProperty(UMLXPackage.Literals.REL_DOMAIN_NODE__OWNED_REL_PATTERN_NODES, Types._RelDomainNode, 1);
public static final @NonNull ExecutorProperty _RelDomainNode__owningRelDiagram = new EcoreExecutorProperty(UMLXPackage.Literals.REL_DOMAIN_NODE__OWNING_REL_DIAGRAM, Types._RelDomainNode, 2);
public static final @NonNull ExecutorProperty _RelDomainNode__referredTxTypedModelNode = new EcoreExecutorProperty(UMLXPackage.Literals.REL_DOMAIN_NODE__REFERRED_TX_TYPED_MODEL_NODE, Types._RelDomainNode, 3);
- public static final @NonNull ExecutorProperty _RelDomainNode__RelPatternClassNode__relDomainNode = new ExecutorPropertyWithImplementation("RelPatternClassNode", Types._RelDomainNode, 4, new EcoreLibraryOppositeProperty(UMLXPackage.Literals.REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE));
public static final @NonNull ExecutorProperty _RelInvocationEdge__invokingRelPatternNode = new EcoreExecutorProperty(UMLXPackage.Literals.REL_INVOCATION_EDGE__INVOKING_REL_PATTERN_NODE, Types._RelInvocationEdge, 0);
public static final @NonNull ExecutorProperty _RelInvocationEdge__owningRelInvocationNode = new EcoreExecutorProperty(UMLXPackage.Literals.REL_INVOCATION_EDGE__OWNING_REL_INVOCATION_NODE, Types._RelInvocationEdge, 1);
@@ -482,11 +473,6 @@ public class UMLXTables
public static final @NonNull ExecutorProperty _RelInvocationNode__owningRelDiagram = new EcoreExecutorProperty(UMLXPackage.Literals.REL_INVOCATION_NODE__OWNING_REL_DIAGRAM, Types._RelInvocationNode, 2);
public static final @NonNull ExecutorProperty _RelInvocationNode__referredRelDiagram = new EcoreExecutorProperty(UMLXPackage.Literals.REL_INVOCATION_NODE__REFERRED_REL_DIAGRAM, Types._RelInvocationNode, 3);
- public static final @NonNull ExecutorProperty _RelPatternClassNode__isAnon = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_CLASS_NODE__IS_ANON, Types._RelPatternClassNode, 0);
- public static final @NonNull ExecutorProperty _RelPatternClassNode__outgoing = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_CLASS_NODE__OUTGOING, Types._RelPatternClassNode, 1);
- public static final @NonNull ExecutorProperty _RelPatternClassNode__relDomainNode = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE, Types._RelPatternClassNode, 2);
- public static final @NonNull ExecutorProperty _RelPatternClassNode__RelInvocationEdge__referredRelPatternNode = new ExecutorPropertyWithImplementation("RelInvocationEdge", Types._RelPatternClassNode, 3, new EcoreLibraryOppositeProperty(UMLXPackage.Literals.REL_INVOCATION_EDGE__REFERRED_REL_PATTERN_NODE));
-
public static final @NonNull ExecutorProperty _RelPatternEdge__owningRelDomainNode = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_EDGE__OWNING_REL_DOMAIN_NODE, Types._RelPatternEdge, 0);
public static final @NonNull ExecutorProperty _RelPatternEdge__referredEStructuralFeature = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_EDGE__REFERRED_ESTRUCTURAL_FEATURE, Types._RelPatternEdge, 1);
public static final @NonNull ExecutorProperty _RelPatternEdge__source = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_EDGE__SOURCE, Types._RelPatternEdge, 2);
@@ -496,8 +482,11 @@ public class UMLXTables
public static final @NonNull ExecutorProperty _RelPatternNode__incoming = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_NODE__INCOMING, Types._RelPatternNode, 0);
public static final @NonNull ExecutorProperty _RelPatternNode__initExpressionLines = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_NODE__INIT_EXPRESSION_LINES, Types._RelPatternNode, 1);
public static final @NonNull ExecutorProperty _RelPatternNode__invokingRelInvocationEdges = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES, Types._RelPatternNode, 2);
- public static final @NonNull ExecutorProperty _RelPatternNode__isRoot = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_NODE__IS_ROOT, Types._RelPatternNode, 3);
- public static final @NonNull ExecutorProperty _RelPatternNode__owningRelDomainNode = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE, Types._RelPatternNode, 4);
+ public static final @NonNull ExecutorProperty _RelPatternNode__isAnon = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_NODE__IS_ANON, Types._RelPatternNode, 3);
+ public static final @NonNull ExecutorProperty _RelPatternNode__isRoot = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_NODE__IS_ROOT, Types._RelPatternNode, 4);
+ public static final @NonNull ExecutorProperty _RelPatternNode__outgoing = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_NODE__OUTGOING, Types._RelPatternNode, 5);
+ public static final @NonNull ExecutorProperty _RelPatternNode__owningRelDomainNode = new EcoreExecutorProperty(UMLXPackage.Literals.REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE, Types._RelPatternNode, 6);
+ public static final @NonNull ExecutorProperty _RelPatternNode__RelInvocationEdge__referredRelPatternNode = new ExecutorPropertyWithImplementation("RelInvocationEdge", Types._RelPatternNode, 7, new EcoreLibraryOppositeProperty(UMLXPackage.Literals.REL_INVOCATION_EDGE__REFERRED_REL_PATTERN_NODE));
public static final @NonNull ExecutorProperty _TxDiagram__ownedRelDiagrams = new EcoreExecutorProperty(UMLXPackage.Literals.TX_DIAGRAM__OWNED_REL_DIAGRAMS, Types._TxDiagram, 0);
public static final @NonNull ExecutorProperty _TxDiagram__ownedTxImportNodes = new EcoreExecutorProperty(UMLXPackage.Literals.TX_DIAGRAM__OWNED_TX_IMPORT_NODES, Types._TxDiagram, 1);
@@ -622,19 +611,6 @@ public class UMLXTables
};
private static final int @NonNull [] __RelNode = { 1,1,1,1 };
- private static final @NonNull ExecutorFragment @NonNull [] _RelPatternClassNode =
- {
- Fragments._RelPatternClassNode__OclAny /* 0 */,
- Fragments._RelPatternClassNode__OclElement /* 1 */,
- Fragments._RelPatternClassNode__UMLXElement /* 2 */,
- Fragments._RelPatternClassNode__RelNode /* 3 */,
- Fragments._RelPatternClassNode__UMLXNamedElement /* 3 */,
- Fragments._RelPatternClassNode__RelPatternNode /* 4 */,
- Fragments._RelPatternClassNode__UMLXTypedElement /* 4 */,
- Fragments._RelPatternClassNode__RelPatternClassNode /* 5 */
- };
- private static final int @NonNull [] __RelPatternClassNode = { 1,1,1,2,2,1 };
-
private static final @NonNull ExecutorFragment @NonNull [] _RelPatternEdge =
{
Fragments._RelPatternEdge__OclAny /* 0 */,
@@ -645,26 +621,17 @@ public class UMLXTables
};
private static final int @NonNull [] __RelPatternEdge = { 1,1,1,1,1 };
- private static final @NonNull ExecutorFragment @NonNull [] _RelPatternExpressionNode =
- {
- Fragments._RelPatternExpressionNode__OclAny /* 0 */,
- Fragments._RelPatternExpressionNode__OclElement /* 1 */,
- Fragments._RelPatternExpressionNode__UMLXElement /* 2 */,
- Fragments._RelPatternExpressionNode__RelNode /* 3 */,
- Fragments._RelPatternExpressionNode__RelPatternNode /* 4 */,
- Fragments._RelPatternExpressionNode__RelPatternExpressionNode /* 5 */
- };
- private static final int @NonNull [] __RelPatternExpressionNode = { 1,1,1,1,1,1 };
-
private static final @NonNull ExecutorFragment @NonNull [] _RelPatternNode =
{
Fragments._RelPatternNode__OclAny /* 0 */,
Fragments._RelPatternNode__OclElement /* 1 */,
Fragments._RelPatternNode__UMLXElement /* 2 */,
Fragments._RelPatternNode__RelNode /* 3 */,
- Fragments._RelPatternNode__RelPatternNode /* 4 */
+ Fragments._RelPatternNode__UMLXNamedElement /* 3 */,
+ Fragments._RelPatternNode__UMLXTypedElement /* 4 */,
+ Fragments._RelPatternNode__RelPatternNode /* 5 */
};
- private static final int @NonNull [] __RelPatternNode = { 1,1,1,1,1 };
+ private static final int @NonNull [] __RelPatternNode = { 1,1,1,2,1,1 };
private static final @NonNull ExecutorFragment @NonNull [] _TxDiagram =
{
@@ -807,9 +774,7 @@ public class UMLXTables
Types._RelInvocationEdge.initFragments(_RelInvocationEdge, __RelInvocationEdge);
Types._RelInvocationNode.initFragments(_RelInvocationNode, __RelInvocationNode);
Types._RelNode.initFragments(_RelNode, __RelNode);
- Types._RelPatternClassNode.initFragments(_RelPatternClassNode, __RelPatternClassNode);
Types._RelPatternEdge.initFragments(_RelPatternEdge, __RelPatternEdge);
- Types._RelPatternExpressionNode.initFragments(_RelPatternExpressionNode, __RelPatternExpressionNode);
Types._RelPatternNode.initFragments(_RelPatternNode, __RelPatternNode);
Types._TxDiagram.initFragments(_TxDiagram, __TxDiagram);
Types._TxImportNode.initFragments(_TxImportNode, __TxImportNode);
@@ -1021,39 +986,6 @@ public class UMLXTables
};
private static final @NonNull ExecutorOperation @NonNull [] _RelNode__UMLXElement = {};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternClassNode__RelPatternClassNode = {};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternClassNode__OclAny = {
- OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
- OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
- OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
- OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
- OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
- OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
- OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
- OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
- OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
- OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
- OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
- OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
- OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
- OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
- OCLstdlibTables.Operations._OclAny__toString /* toString() */
- };
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternClassNode__OclElement = {
- OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
- OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
- OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
- OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
- OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
- OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
- OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
- };
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternClassNode__RelNode = {};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternClassNode__RelPatternNode = {};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternClassNode__UMLXElement = {};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternClassNode__UMLXNamedElement = {};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternClassNode__UMLXTypedElement = {};
-
private static final @NonNull ExecutorOperation @NonNull [] _RelPatternEdge__RelPatternEdge = {};
private static final @NonNull ExecutorOperation @NonNull [] _RelPatternEdge__OclAny = {
OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
@@ -1084,38 +1016,9 @@ public class UMLXTables
private static final @NonNull ExecutorOperation @NonNull [] _RelPatternEdge__RelEdge = {};
private static final @NonNull ExecutorOperation @NonNull [] _RelPatternEdge__UMLXElement = {};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternExpressionNode__RelPatternExpressionNode = {};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternExpressionNode__OclAny = {
- OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
- OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
- OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
- OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
- OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
- OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
- OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
- OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
- OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
- OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
- OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
- OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
- OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
- OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
- OCLstdlibTables.Operations._OclAny__toString /* toString() */
+ private static final @NonNull ExecutorOperation @NonNull [] _RelPatternNode__RelPatternNode = {
+ UMLXTables.Operations._RelPatternNode__isExpression /* isExpression() */
};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternExpressionNode__OclElement = {
- OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
- OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
- OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
- OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
- OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
- OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
- OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
- };
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternExpressionNode__RelNode = {};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternExpressionNode__RelPatternNode = {};
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternExpressionNode__UMLXElement = {};
-
- private static final @NonNull ExecutorOperation @NonNull [] _RelPatternNode__RelPatternNode = {};
private static final @NonNull ExecutorOperation @NonNull [] _RelPatternNode__OclAny = {
OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
@@ -1144,6 +1047,8 @@ public class UMLXTables
};
private static final @NonNull ExecutorOperation @NonNull [] _RelPatternNode__RelNode = {};
private static final @NonNull ExecutorOperation @NonNull [] _RelPatternNode__UMLXElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _RelPatternNode__UMLXNamedElement = {};
+ private static final @NonNull ExecutorOperation @NonNull [] _RelPatternNode__UMLXTypedElement = {};
private static final @NonNull ExecutorOperation @NonNull [] _TxDiagram__TxDiagram = {};
private static final @NonNull ExecutorOperation @NonNull [] _TxDiagram__OclAny = {
@@ -1574,33 +1479,19 @@ public class UMLXTables
Fragments._RelNode__RelNode.initOperations(_RelNode__RelNode);
Fragments._RelNode__UMLXElement.initOperations(_RelNode__UMLXElement);
- Fragments._RelPatternClassNode__OclAny.initOperations(_RelPatternClassNode__OclAny);
- Fragments._RelPatternClassNode__OclElement.initOperations(_RelPatternClassNode__OclElement);
- Fragments._RelPatternClassNode__RelNode.initOperations(_RelPatternClassNode__RelNode);
- Fragments._RelPatternClassNode__RelPatternClassNode.initOperations(_RelPatternClassNode__RelPatternClassNode);
- Fragments._RelPatternClassNode__RelPatternNode.initOperations(_RelPatternClassNode__RelPatternNode);
- Fragments._RelPatternClassNode__UMLXElement.initOperations(_RelPatternClassNode__UMLXElement);
- Fragments._RelPatternClassNode__UMLXNamedElement.initOperations(_RelPatternClassNode__UMLXNamedElement);
- Fragments._RelPatternClassNode__UMLXTypedElement.initOperations(_RelPatternClassNode__UMLXTypedElement);
-
Fragments._RelPatternEdge__OclAny.initOperations(_RelPatternEdge__OclAny);
Fragments._RelPatternEdge__OclElement.initOperations(_RelPatternEdge__OclElement);
Fragments._RelPatternEdge__RelEdge.initOperations(_RelPatternEdge__RelEdge);
Fragments._RelPatternEdge__RelPatternEdge.initOperations(_RelPatternEdge__RelPatternEdge);
Fragments._RelPatternEdge__UMLXElement.initOperations(_RelPatternEdge__UMLXElement);
- Fragments._RelPatternExpressionNode__OclAny.initOperations(_RelPatternExpressionNode__OclAny);
- Fragments._RelPatternExpressionNode__OclElement.initOperations(_RelPatternExpressionNode__OclElement);
- Fragments._RelPatternExpressionNode__RelNode.initOperations(_RelPatternExpressionNode__RelNode);
- Fragments._RelPatternExpressionNode__RelPatternExpressionNode.initOperations(_RelPatternExpressionNode__RelPatternExpressionNode);
- Fragments._RelPatternExpressionNode__RelPatternNode.initOperations(_RelPatternExpressionNode__RelPatternNode);
- Fragments._RelPatternExpressionNode__UMLXElement.initOperations(_RelPatternExpressionNode__UMLXElement);
-
Fragments._RelPatternNode__OclAny.initOperations(_RelPatternNode__OclAny);
Fragments._RelPatternNode__OclElement.initOperations(_RelPatternNode__OclElement);
Fragments._RelPatternNode__RelNode.initOperations(_RelPatternNode__RelNode);
Fragments._RelPatternNode__RelPatternNode.initOperations(_RelPatternNode__RelPatternNode);
Fragments._RelPatternNode__UMLXElement.initOperations(_RelPatternNode__UMLXElement);
+ Fragments._RelPatternNode__UMLXNamedElement.initOperations(_RelPatternNode__UMLXNamedElement);
+ Fragments._RelPatternNode__UMLXTypedElement.initOperations(_RelPatternNode__UMLXTypedElement);
Fragments._TxDiagram__OclAny.initOperations(_TxDiagram__OclAny);
Fragments._TxDiagram__OclElement.initOperations(_TxDiagram__OclElement);
@@ -1739,25 +1630,6 @@ public class UMLXTables
UMLXTables.Properties._UMLXElement__comments
};
- private static final @NonNull ExecutorProperty @NonNull [] _RelPatternClassNode = {
- UMLXTables.Properties._UMLXElement__comments,
- UMLXTables.Properties._RelPatternNode__incoming,
- UMLXTables.Properties._RelPatternNode__initExpressionLines,
- UMLXTables.Properties._RelPatternNode__invokingRelInvocationEdges,
- UMLXTables.Properties._RelPatternClassNode__isAnon,
- UMLXTables.Properties._UMLXTypedElement__isMany,
- UMLXTables.Properties._UMLXTypedElement__isNullFree,
- UMLXTables.Properties._UMLXTypedElement__isOrdered,
- UMLXTables.Properties._UMLXTypedElement__isRequired,
- UMLXTables.Properties._RelPatternNode__isRoot,
- UMLXTables.Properties._UMLXTypedElement__isUnique,
- UMLXTables.Properties._UMLXNamedElement__name,
- UMLXTables.Properties._RelPatternClassNode__outgoing,
- UMLXTables.Properties._RelPatternNode__owningRelDomainNode,
- UMLXTables.Properties._UMLXTypedElement__referredEClassifier,
- UMLXTables.Properties._RelPatternClassNode__relDomainNode
- };
-
private static final @NonNull ExecutorProperty @NonNull [] _RelPatternEdge = {
UMLXTables.Properties._UMLXElement__comments,
UMLXTables.Properties._RelPatternEdge__owningRelDomainNode,
@@ -1767,22 +1639,22 @@ public class UMLXTables
UMLXTables.Properties._RelPatternEdge__target
};
- private static final @NonNull ExecutorProperty @NonNull [] _RelPatternExpressionNode = {
- UMLXTables.Properties._UMLXElement__comments,
- UMLXTables.Properties._RelPatternNode__incoming,
- UMLXTables.Properties._RelPatternNode__initExpressionLines,
- UMLXTables.Properties._RelPatternNode__invokingRelInvocationEdges,
- UMLXTables.Properties._RelPatternNode__isRoot,
- UMLXTables.Properties._RelPatternNode__owningRelDomainNode
- };
-
private static final @NonNull ExecutorProperty @NonNull [] _RelPatternNode = {
UMLXTables.Properties._UMLXElement__comments,
UMLXTables.Properties._RelPatternNode__incoming,
UMLXTables.Properties._RelPatternNode__initExpressionLines,
UMLXTables.Properties._RelPatternNode__invokingRelInvocationEdges,
+ UMLXTables.Properties._RelPatternNode__isAnon,
+ UMLXTables.Properties._UMLXTypedElement__isMany,
+ UMLXTables.Properties._UMLXTypedElement__isNullFree,
+ UMLXTables.Properties._UMLXTypedElement__isOrdered,
+ UMLXTables.Properties._UMLXTypedElement__isRequired,
UMLXTables.Properties._RelPatternNode__isRoot,
- UMLXTables.Properties._RelPatternNode__owningRelDomainNode
+ UMLXTables.Properties._UMLXTypedElement__isUnique,
+ UMLXTables.Properties._UMLXNamedElement__name,
+ UMLXTables.Properties._RelPatternNode__outgoing,
+ UMLXTables.Properties._RelPatternNode__owningRelDomainNode,
+ UMLXTables.Properties._UMLXTypedElement__referredEClassifier
};
private static final @NonNull ExecutorProperty @NonNull [] _TxDiagram = {
@@ -1897,9 +1769,7 @@ public class UMLXTables
Fragments._RelInvocationEdge__RelInvocationEdge.initProperties(_RelInvocationEdge);
Fragments._RelInvocationNode__RelInvocationNode.initProperties(_RelInvocationNode);
Fragments._RelNode__RelNode.initProperties(_RelNode);
- Fragments._RelPatternClassNode__RelPatternClassNode.initProperties(_RelPatternClassNode);
Fragments._RelPatternEdge__RelPatternEdge.initProperties(_RelPatternEdge);
- Fragments._RelPatternExpressionNode__RelPatternExpressionNode.initProperties(_RelPatternExpressionNode);
Fragments._RelPatternNode__RelPatternNode.initProperties(_RelPatternNode);
Fragments._TxDiagram__TxDiagram.initProperties(_TxDiagram);
Fragments._TxImportNode__TxImportNode.initProperties(_TxImportNode);
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelDiagramImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelDiagramImpl.java
index ee23c941c..9230d3aee 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelDiagramImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelDiagramImpl.java
@@ -11,9 +11,9 @@
package org.eclipse.qvtd.umlx.impl;
import java.util.Collection;
-
import java.util.Iterator;
import java.util.Map;
+
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.DiagnosticChain;
@@ -30,7 +30,6 @@ import org.eclipse.ocl.pivot.ids.TypeId;
import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
import org.eclipse.ocl.pivot.library.collection.CollectionAsSetOperation;
import org.eclipse.ocl.pivot.library.collection.CollectionCountOperation;
-import org.eclipse.ocl.pivot.library.collection.CollectionSelectByKindOperation;
import org.eclipse.ocl.pivot.library.logical.BooleanNotOperation;
import org.eclipse.ocl.pivot.library.oclany.OclComparableGreaterThanOperation;
import org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation;
@@ -44,7 +43,6 @@ import org.eclipse.ocl.pivot.values.SetValue;
import org.eclipse.qvtd.umlx.RelDiagram;
import org.eclipse.qvtd.umlx.RelDomainNode;
import org.eclipse.qvtd.umlx.RelInvocationNode;
-import org.eclipse.qvtd.umlx.RelPatternClassNode;
import org.eclipse.qvtd.umlx.RelPatternNode;
import org.eclipse.qvtd.umlx.TxDiagram;
import org.eclipse.qvtd.umlx.UMLXPackage;
@@ -222,6 +220,42 @@ public class RelDiagramImpl extends UMLXNamedElementImpl implements RelDiagram {
* @generated
*/
@Override
+ public boolean validateNameIsRequired(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv NameIsRequired:
+ * let severity : Integer[1] = 'RelDiagram::NameIsRequired'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let result : Boolean[1] = name <> null
+ * in
+ * 'RelDiagram::NameIsRequired'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelDiagram_c_c_NameIsRequired);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ final /*@NonInvalid*/ java.lang.@Nullable String name = this.getName();
+ final /*@NonInvalid*/ boolean result = name != null;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelDiagram_c_c_NameIsRequired, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public boolean validateRelPatternNodeNamesAreUnique(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
@@ -234,7 +268,8 @@ public class RelDiagramImpl extends UMLXNamedElementImpl implements RelDiagram {
* else
* let
* result : OclAny[1] = let
- * allNames : Sequence(String) = ownedRelDomainNodes.ownedRelPatternNodes->selectByKind(RelPatternClassNode)
+ * allNames : Sequence(String)[*|?] = ownedRelDomainNodes.ownedRelPatternNodes->select(
+ * not isExpression())
* ->select(not isAnon).name
* in
* let status : Boolean[1] = allNames->isUnique(n | n)
@@ -266,7 +301,6 @@ public class RelDiagramImpl extends UMLXNamedElementImpl implements RelDiagram {
else {
/*@Caught*/ @NonNull Object CAUGHT_symbol_1;
try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
@SuppressWarnings("null")
final /*@NonInvalid*/ java.util.@NonNull List<RelDomainNode> ownedRelDomainNodes = this.getOwnedRelDomainNodes();
final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_ownedRelDomainNodes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_RelDomainNode, ownedRelDomainNodes);
@@ -291,22 +325,21 @@ public class RelDiagramImpl extends UMLXNamedElementImpl implements RelDiagram {
accumulator.add(value);
}
}
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue selectByKind = (SequenceValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, collect, TYP_umlx_c_c_RelPatternClassNode);
- /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_0 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_CLSSid_RelPatternClassNode);
- @NonNull Iterator<Object> ITERATOR__1_0 = selectByKind.iterator();
- /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue select;
+ /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_0 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_CLSSid_RelPatternNode);
+ @NonNull Iterator<Object> ITERATOR__1_0 = collect.iterator();
+ /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue select_0;
while (true) {
if (!ITERATOR__1_0.hasNext()) {
- select = accumulator_0;
+ select_0 = accumulator_0;
break;
}
@SuppressWarnings("null")
- /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode _1_0 = (RelPatternClassNode)ITERATOR__1_0.next();
+ /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode _1_0 = (RelPatternNode)ITERATOR__1_0.next();
/**
- * not isAnon
+ * not isExpression()
*/
- final /*@NonInvalid*/ boolean isAnon = _1_0.isIsAnon();
- final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isAnon);
+ final /*@NonInvalid*/ boolean isExpression = _1_0.isExpression();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isExpression);
if (not == null) {
throw new InvalidValueException("Null body for \'Sequence(T).select(Sequence.T[?] | Lambda T() : Boolean[1]) : Sequence(T)\'");
}
@@ -315,44 +348,65 @@ public class RelDiagramImpl extends UMLXNamedElementImpl implements RelDiagram {
accumulator_0.add(_1_0);
}
}
- /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_1 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_PRIMid_String);
- @NonNull Iterator<Object> ITERATOR__1_1 = select.iterator();
- /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue allNames;
+ /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_1 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_CLSSid_RelPatternNode);
+ @NonNull Iterator<Object> ITERATOR__1_1 = select_0.iterator();
+ /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue select;
while (true) {
if (!ITERATOR__1_1.hasNext()) {
- allNames = accumulator_1;
+ select = accumulator_1;
break;
}
@SuppressWarnings("null")
- /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode _1_1 = (RelPatternClassNode)ITERATOR__1_1.next();
+ /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode _1_1 = (RelPatternNode)ITERATOR__1_1.next();
/**
- * name
+ * not isAnon
*/
+ final /*@NonInvalid*/ boolean isAnon = _1_1.isIsAnon();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean not_0 = BooleanNotOperation.INSTANCE.evaluate(isAnon);
+ if (not_0 == null) {
+ throw new InvalidValueException("Null body for \'Sequence(T).select(Sequence.T[?] | Lambda T() : Boolean[1]) : Sequence(T)\'");
+ }
+ //
+ if (not_0 == ValueUtil.TRUE_VALUE) {
+ accumulator_1.add(_1_1);
+ }
+ }
+ /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_2 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_PRIMid_String);
+ @NonNull Iterator<Object> ITERATOR__1_2 = select.iterator();
+ /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue allNames;
+ while (true) {
+ if (!ITERATOR__1_2.hasNext()) {
+ allNames = accumulator_2;
+ break;
+ }
@SuppressWarnings("null")
- final /*@NonInvalid*/ java.lang.@NonNull String name = _1_1.getName();
+ /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode _1_2 = (RelPatternNode)ITERATOR__1_2.next();
+ /**
+ * name
+ */
+ final /*@NonInvalid*/ java.lang.@Nullable String name = _1_2.getName();
//
- accumulator_1.add(name);
+ accumulator_2.add(name);
}
- /*@Thrown*/ SetValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_2 = ValueUtil.createSetAccumulatorValue(UMLXTables.SEQ_PRIMid_String);
- @NonNull Iterator<Object> ITERATOR_n = allNames.iterator();
+ /*@Thrown*/ SetValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_3 = ValueUtil.createSetAccumulatorValue(UMLXTables.SEQ_PRIMid_String);
+ @Nullable Iterator<Object> ITERATOR_n = allNames.iterator();
/*@Thrown*/ boolean status;
while (true) {
if (!ITERATOR_n.hasNext()) {
status = ValueUtil.TRUE_VALUE;
break;
}
- @SuppressWarnings("null")
- /*@NonInvalid*/ java.lang.@NonNull String n = (String)ITERATOR_n.next();
+ /*@NonInvalid*/ java.lang.@Nullable String n = (String)ITERATOR_n.next();
/**
* n
*/
//
- if (accumulator_2.includes(n) == ValueUtil.TRUE_VALUE) {
+ if (accumulator_3.includes(n) == ValueUtil.TRUE_VALUE) {
status = ValueUtil.FALSE_VALUE; // Abort after second find
break;
}
else {
- accumulator_2.add(n);
+ accumulator_3.add(n);
}
}
/*@Thrown*/ java.lang.@NonNull Object symbol_1;
@@ -360,16 +414,15 @@ public class RelDiagramImpl extends UMLXNamedElementImpl implements RelDiagram {
symbol_1 = ValueUtil.TRUE_VALUE;
}
else {
- /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_3 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_PRIMid_String);
- @NonNull Iterator<Object> ITERATOR_n_0 = allNames.iterator();
- /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue select_0;
+ /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_4 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_PRIMid_String);
+ @Nullable Iterator<Object> ITERATOR_n_0 = allNames.iterator();
+ /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue select_1;
while (true) {
if (!ITERATOR_n_0.hasNext()) {
- select_0 = accumulator_3;
+ select_1 = accumulator_4;
break;
}
- @SuppressWarnings("null")
- /*@NonInvalid*/ java.lang.@NonNull String n_0 = (String)ITERATOR_n_0.next();
+ /*@NonInvalid*/ java.lang.@Nullable String n_0 = (String)ITERATOR_n_0.next();
/**
* allNames->count(n) > 1
*/
@@ -377,10 +430,10 @@ public class RelDiagramImpl extends UMLXNamedElementImpl implements RelDiagram {
final /*@Thrown*/ boolean gt = OclComparableGreaterThanOperation.INSTANCE.evaluate(executor, count, UMLXTables.INT_1).booleanValue();
//
if (gt == ValueUtil.TRUE_VALUE) {
- accumulator_3.add(n_0);
+ accumulator_4.add(n_0);
}
}
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue repeatedNames = CollectionAsSetOperation.INSTANCE.evaluate(select_0);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue repeatedNames = CollectionAsSetOperation.INSTANCE.evaluate(select_1);
/*@NonInvalid*/ java.lang.@NonNull String acc = UMLXTables.STR_RelDiagram_c_c_RelPatternNodeNamesAreUnique_c;
@NonNull Iterator<Object> ITERATOR_n_1 = repeatedNames.iterator();
/*@Thrown*/ java.lang.@Nullable String iterate;
@@ -401,8 +454,7 @@ public class RelDiagramImpl extends UMLXNamedElementImpl implements RelDiagram {
acc = sum_1;
}
final /*@Thrown*/ java.lang.@NonNull String sum_2 = StringConcatOperation.INSTANCE.evaluate(iterate, UMLXTables.STR__32_are_32_not_32_unique_32_for_32);
- @SuppressWarnings("null")
- final /*@NonInvalid*/ java.lang.@NonNull String name_0 = this.getName();
+ final /*@NonInvalid*/ java.lang.@Nullable String name_0 = this.getName();
final /*@Thrown*/ java.lang.@NonNull String sum_3 = StringConcatOperation.INSTANCE.evaluate(sum_2, name_0);
final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull TupleValue symbol_0 = ValueUtil.createTupleOfEach(UMLXTables.TUPLid_, sum_3, status);
symbol_1 = symbol_0;
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelInvocationEdgeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelInvocationEdgeImpl.java
index f08400c65..1b1cefefe 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelInvocationEdgeImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelInvocationEdgeImpl.java
@@ -19,7 +19,6 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.qvtd.umlx.RelInvocationEdge;
import org.eclipse.qvtd.umlx.RelInvocationNode;
-import org.eclipse.qvtd.umlx.RelPatternClassNode;
import org.eclipse.qvtd.umlx.RelPatternNode;
import org.eclipse.qvtd.umlx.UMLXPackage;
import org.eclipse.qvtd.umlx.util.UMLXVisitor;
@@ -58,7 +57,7 @@ public class RelInvocationEdgeImpl extends RelEdgeImpl implements RelInvocationE
* @generated
* @ordered
*/
- protected RelPatternClassNode referredRelPatternNode;
+ protected RelPatternNode referredRelPatternNode;
/**
* <!-- begin-user-doc -->
@@ -85,10 +84,10 @@ public class RelInvocationEdgeImpl extends RelEdgeImpl implements RelInvocationE
* @generated
*/
@Override
- public RelPatternClassNode getReferredRelPatternNode() {
+ public RelPatternNode getReferredRelPatternNode() {
if (referredRelPatternNode != null && referredRelPatternNode.eIsProxy()) {
InternalEObject oldReferredRelPatternNode = (InternalEObject)referredRelPatternNode;
- referredRelPatternNode = (RelPatternClassNode)eResolveProxy(oldReferredRelPatternNode);
+ referredRelPatternNode = (RelPatternNode)eResolveProxy(oldReferredRelPatternNode);
if (referredRelPatternNode != oldReferredRelPatternNode) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLXPackage.REL_INVOCATION_EDGE__REFERRED_REL_PATTERN_NODE, oldReferredRelPatternNode, referredRelPatternNode));
@@ -102,7 +101,7 @@ public class RelInvocationEdgeImpl extends RelEdgeImpl implements RelInvocationE
* <!-- end-user-doc -->
* @generated
*/
- public RelPatternClassNode basicGetReferredRelPatternNode() {
+ public RelPatternNode basicGetReferredRelPatternNode() {
return referredRelPatternNode;
}
@@ -112,8 +111,8 @@ public class RelInvocationEdgeImpl extends RelEdgeImpl implements RelInvocationE
* @generated
*/
@Override
- public void setReferredRelPatternNode(RelPatternClassNode newReferredRelPatternNode) {
- RelPatternClassNode oldReferredRelPatternNode = referredRelPatternNode;
+ public void setReferredRelPatternNode(RelPatternNode newReferredRelPatternNode) {
+ RelPatternNode oldReferredRelPatternNode = referredRelPatternNode;
referredRelPatternNode = newReferredRelPatternNode;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_INVOCATION_EDGE__REFERRED_REL_PATTERN_NODE, oldReferredRelPatternNode, referredRelPatternNode));
@@ -309,7 +308,7 @@ public class RelInvocationEdgeImpl extends RelEdgeImpl implements RelInvocationE
setOwningRelInvocationNode((RelInvocationNode)newValue);
return;
case UMLXPackage.REL_INVOCATION_EDGE__REFERRED_REL_PATTERN_NODE:
- setReferredRelPatternNode((RelPatternClassNode)newValue);
+ setReferredRelPatternNode((RelPatternNode)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -330,7 +329,7 @@ public class RelInvocationEdgeImpl extends RelEdgeImpl implements RelInvocationE
setOwningRelInvocationNode((RelInvocationNode)null);
return;
case UMLXPackage.REL_INVOCATION_EDGE__REFERRED_REL_PATTERN_NODE:
- setReferredRelPatternNode((RelPatternClassNode)null);
+ setReferredRelPatternNode((RelPatternNode)null);
return;
}
super.eUnset(featureID);
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelInvocationNodeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelInvocationNodeImpl.java
index bdeae67b4..3d5be4244 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelInvocationNodeImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelInvocationNodeImpl.java
@@ -188,6 +188,7 @@ public class RelInvocationNodeImpl extends RelNodeImpl implements RelInvocationN
* <!-- end-user-doc -->
* @generated
*/
+ @Override
public boolean validateCompatibleEdges(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
@@ -204,7 +205,7 @@ public class RelInvocationNodeImpl extends RelNodeImpl implements RelInvocationN
* ->asSet()
* in
* let
- * actualNodes : Set(umlx::RelPatternClassNode) = ownedRelInvocationEdges.referredRelPatternNode->asSet()
+ * actualNodes : Set(umlx::RelPatternNode) = ownedRelInvocationEdges.referredRelPatternNode->asSet()
* in
* let status : Boolean[1] = expectedNodes = actualNodes
* in
@@ -282,7 +283,7 @@ public class RelInvocationNodeImpl extends RelNodeImpl implements RelInvocationN
@SuppressWarnings("null")
final /*@NonInvalid*/ java.util.@NonNull List<RelInvocationEdge> ownedRelInvocationEdges = this.getOwnedRelInvocationEdges();
final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_ownedRelInvocationEdges = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_RelInvocationEdge, ownedRelInvocationEdges);
- /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_1 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_CLSSid_RelPatternClassNode);
+ /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_1 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_CLSSid_RelPatternNode);
@NonNull Iterator<Object> ITERATOR__1_1 = BOXED_ownedRelInvocationEdges.iterator();
/*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue collect_0;
while (true) {
@@ -296,7 +297,7 @@ public class RelInvocationNodeImpl extends RelNodeImpl implements RelInvocationN
* referredRelPatternNode
*/
@SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode referredRelPatternNode = _1_1.getReferredRelPatternNode();
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode referredRelPatternNode = _1_1.getReferredRelPatternNode();
//
accumulator_1.add(referredRelPatternNode);
}
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternClassNodeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternClassNodeImpl.java
deleted file mode 100644
index dc738b41b..000000000
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternClassNodeImpl.java
+++ /dev/null
@@ -1,913 +0,0 @@
-/**
- * Copyright (c) 2016 Willink Transformations and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * E.D.Willink - Initial API and implementation
- */
-package org.eclipse.qvtd.umlx.impl;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.DiagnosticChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.ocl.pivot.ids.TypeId;
-import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
-import org.eclipse.ocl.pivot.library.collection.CollectionIncludesOperation;
-import org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation;
-import org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation;
-import org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation;
-import org.eclipse.ocl.pivot.utilities.ValueUtil;
-import org.eclipse.ocl.pivot.values.InvalidValueException;
-import org.eclipse.ocl.pivot.values.SequenceValue;
-import org.eclipse.qvtd.umlx.RelDomainNode;
-import org.eclipse.qvtd.umlx.RelPatternClassNode;
-import org.eclipse.qvtd.umlx.RelPatternEdge;
-import org.eclipse.qvtd.umlx.TxPackageNode;
-import org.eclipse.qvtd.umlx.UMLXNamedElement;
-import org.eclipse.qvtd.umlx.UMLXPackage;
-import org.eclipse.qvtd.umlx.UMLXTables;
-import org.eclipse.qvtd.umlx.UMLXTypedElement;
-import org.eclipse.qvtd.umlx.util.UMLXVisitor;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Rel Pattern Node</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl#isIsMany <em>Is Many</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl#isIsNullFree <em>Is Null Free</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl#isIsOrdered <em>Is Ordered</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl#isIsRequired <em>Is Required</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl#isIsUnique <em>Is Unique</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl#getReferredEClassifier <em>Referred EClassifier</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl#isIsAnon <em>Is Anon</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl#getOutgoing <em>Outgoing</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternClassNodeImpl#getRelDomainNode <em>Rel Domain Node</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class RelPatternClassNodeImpl extends RelPatternNodeImpl implements RelPatternClassNode {
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #isIsMany() <em>Is Many</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsMany()
- * @generated
- * @ordered
- */
- protected static final boolean IS_MANY_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isIsMany() <em>Is Many</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsMany()
- * @generated
- * @ordered
- */
- protected boolean isMany = IS_MANY_EDEFAULT;
-
- /**
- * The default value of the '{@link #isIsNullFree() <em>Is Null Free</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsNullFree()
- * @generated
- * @ordered
- */
- protected static final boolean IS_NULL_FREE_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isIsNullFree() <em>Is Null Free</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsNullFree()
- * @generated
- * @ordered
- */
- protected boolean isNullFree = IS_NULL_FREE_EDEFAULT;
-
- /**
- * The default value of the '{@link #isIsOrdered() <em>Is Ordered</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsOrdered()
- * @generated
- * @ordered
- */
- protected static final boolean IS_ORDERED_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isIsOrdered() <em>Is Ordered</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsOrdered()
- * @generated
- * @ordered
- */
- protected boolean isOrdered = IS_ORDERED_EDEFAULT;
-
- /**
- * The default value of the '{@link #isIsRequired() <em>Is Required</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsRequired()
- * @generated
- * @ordered
- */
- protected static final boolean IS_REQUIRED_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isIsRequired() <em>Is Required</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsRequired()
- * @generated
- * @ordered
- */
- protected boolean isRequired = IS_REQUIRED_EDEFAULT;
-
- /**
- * The default value of the '{@link #isIsUnique() <em>Is Unique</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsUnique()
- * @generated
- * @ordered
- */
- protected static final boolean IS_UNIQUE_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isIsUnique() <em>Is Unique</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsUnique()
- * @generated
- * @ordered
- */
- protected boolean isUnique = IS_UNIQUE_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getReferredEClassifier() <em>Referred EClassifier</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getReferredEClassifier()
- * @generated
- * @ordered
- */
- protected EClassifier referredEClassifier;
-
- /**
- * The default value of the '{@link #isIsAnon() <em>Is Anon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsAnon()
- * @generated
- * @ordered
- */
- protected static final boolean IS_ANON_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isIsAnon() <em>Is Anon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIsAnon()
- * @generated
- * @ordered
- */
- protected boolean isAnon = IS_ANON_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getOutgoing() <em>Outgoing</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOutgoing()
- * @generated
- * @ordered
- */
- protected EList<RelPatternEdge> outgoing;
-
- /**
- * The cached value of the '{@link #getRelDomainNode() <em>Rel Domain Node</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRelDomainNode()
- * @generated
- * @ordered
- */
- protected RelDomainNode relDomainNode;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected RelPatternClassNodeImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return UMLXPackage.Literals.REL_PATTERN_CLASS_NODE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String getName() {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setName(String newName) {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_CLASS_NODE__NAME, oldName, name));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean isIsAnon() {
- return isAnon;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setIsAnon(boolean newIsAnon) {
- boolean oldIsAnon = isAnon;
- isAnon = newIsAnon;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ANON, oldIsAnon, isAnon));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean isIsMany() {
- return isMany;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setIsMany(boolean newIsMany) {
- boolean oldIsMany = isMany;
- isMany = newIsMany;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_CLASS_NODE__IS_MANY, oldIsMany, isMany));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean isIsNullFree() {
- return isNullFree;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setIsNullFree(boolean newIsNullFree) {
- boolean oldIsNullFree = isNullFree;
- isNullFree = newIsNullFree;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_CLASS_NODE__IS_NULL_FREE, oldIsNullFree, isNullFree));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean isIsOrdered() {
- return isOrdered;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setIsOrdered(boolean newIsOrdered) {
- boolean oldIsOrdered = isOrdered;
- isOrdered = newIsOrdered;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ORDERED, oldIsOrdered, isOrdered));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean isIsRequired() {
- return isRequired;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setIsRequired(boolean newIsRequired) {
- boolean oldIsRequired = isRequired;
- isRequired = newIsRequired;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_CLASS_NODE__IS_REQUIRED, oldIsRequired, isRequired));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean isIsUnique() {
- return isUnique;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setIsUnique(boolean newIsUnique) {
- boolean oldIsUnique = isUnique;
- isUnique = newIsUnique;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_CLASS_NODE__IS_UNIQUE, oldIsUnique, isUnique));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EList<RelPatternEdge> getOutgoing() {
- if (outgoing == null) {
- outgoing = new EObjectWithInverseResolvingEList<RelPatternEdge>(RelPatternEdge.class, this, UMLXPackage.REL_PATTERN_CLASS_NODE__OUTGOING, UMLXPackage.REL_PATTERN_EDGE__SOURCE);
- }
- return outgoing;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EClassifier getReferredEClassifier() {
- if (referredEClassifier != null && referredEClassifier.eIsProxy()) {
- InternalEObject oldReferredEClassifier = (InternalEObject)referredEClassifier;
- referredEClassifier = (EClassifier)eResolveProxy(oldReferredEClassifier);
- if (referredEClassifier != oldReferredEClassifier) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLXPackage.REL_PATTERN_CLASS_NODE__REFERRED_ECLASSIFIER, oldReferredEClassifier, referredEClassifier));
- }
- }
- return referredEClassifier;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClassifier basicGetReferredEClassifier() {
- return referredEClassifier;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setReferredEClassifier(EClassifier newReferredEClassifier) {
- EClassifier oldReferredEClassifier = referredEClassifier;
- referredEClassifier = newReferredEClassifier;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_CLASS_NODE__REFERRED_ECLASSIFIER, oldReferredEClassifier, referredEClassifier));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public RelDomainNode getRelDomainNode() {
- if (relDomainNode != null && relDomainNode.eIsProxy()) {
- InternalEObject oldRelDomainNode = (InternalEObject)relDomainNode;
- relDomainNode = (RelDomainNode)eResolveProxy(oldRelDomainNode);
- if (relDomainNode != oldRelDomainNode) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLXPackage.REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE, oldRelDomainNode, relDomainNode));
- }
- }
- return relDomainNode;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public RelDomainNode basicGetRelDomainNode() {
- return relDomainNode;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void setRelDomainNode(RelDomainNode newRelDomainNode) {
- RelDomainNode oldRelDomainNode = relDomainNode;
- relDomainNode = newRelDomainNode;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE, oldRelDomainNode, relDomainNode));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean validateAnonIsUnnamed(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
- /**
- *
- * inv AnonIsUnnamed:
- * let
- * severity : Integer[1] = 'RelPatternClassNode::AnonIsUnnamed'.getSeverity()
- * in
- * if severity <= 0
- * then true
- * else
- * let result : Boolean[1] = isAnon = name = ''
- * in
- * 'RelPatternClassNode::AnonIsUnnamed'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
- * endif
- */
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternClassNode_c_c_AnonIsUnnamed);
- final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
- /*@NonInvalid*/ boolean symbol_0;
- if (le) {
- symbol_0 = ValueUtil.TRUE_VALUE;
- }
- else {
- final /*@NonInvalid*/ boolean isAnon = this.isIsAnon();
- @SuppressWarnings("null")
- final /*@NonInvalid*/ java.lang.@NonNull String name = this.getName();
- final /*@NonInvalid*/ boolean eq = name.equals(UMLXTables.STR_);
- final /*@NonInvalid*/ boolean result = isAnon == eq;
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternClassNode_c_c_AnonIsUnnamed, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
- symbol_0 = logDiagnostic;
- }
- return Boolean.TRUE == symbol_0;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean validateEClassifierIsInTypedModel(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
- /**
- *
- * inv EClassifierIsInTypedModel:
- * let
- * severity : Integer[1] = 'RelPatternClassNode::EClassifierIsInTypedModel'.getSeverity()
- * in
- * if severity <= 0
- * then true
- * else
- * let
- * result : Boolean[?] = let txTypedModelNode : TxTypedModelNode[?] = owningRelDomainNode.referredTxTypedModelNode
- * in txTypedModelNode <> null implies
- * txTypedModelNode.ownedTxPackageNodes.referredEPackage.eClassifiers->includes(referredEClassifier)
- * in
- * 'RelPatternClassNode::EClassifierIsInTypedModel'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
- * endif
- */
- 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 IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternClassNode_c_c_EClassifierIsInTypedModel);
- final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
- /*@NonInvalid*/ boolean symbol_0;
- if (le) {
- symbol_0 = ValueUtil.TRUE_VALUE;
- }
- else {
- /*@Caught*/ @NonNull Object CAUGHT_implies;
- try {
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelDomainNode owningRelDomainNode = this.getOwningRelDomainNode();
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@Nullable TxTypedModelNode txTypedModelNode = owningRelDomainNode.getReferredTxTypedModelNode();
- final /*@NonInvalid*/ boolean ne = txTypedModelNode != null;
- /*@Thrown*/ boolean implies;
- if (ne) {
- if (txTypedModelNode == null) {
- throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/2016/UMLX\'::TxTypedModelNode::ownedTxPackageNodes\'");
- }
- @SuppressWarnings("null")
- final /*@Thrown*/ java.util.@NonNull List<TxPackageNode> ownedTxPackageNodes = txTypedModelNode.getOwnedTxPackageNodes();
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_ownedTxPackageNodes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_TxPackageNode, ownedTxPackageNodes);
- /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_CLSSid_EPackage);
- @NonNull Iterator<Object> ITERATOR__1 = BOXED_ownedTxPackageNodes.iterator();
- /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue collect_0;
- while (true) {
- if (!ITERATOR__1.hasNext()) {
- collect_0 = accumulator;
- break;
- }
- @SuppressWarnings("null")
- /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull TxPackageNode _1 = (TxPackageNode)ITERATOR__1.next();
- /**
- * referredEPackage
- */
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.emf.ecore.@NonNull EPackage referredEPackage = _1.getReferredEPackage();
- //
- accumulator.add(referredEPackage);
- }
- /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_0 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_CLSSid_EClassifier);
- @NonNull Iterator<Object> ITERATOR__1_0 = collect_0.iterator();
- /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue collect;
- while (true) {
- if (!ITERATOR__1_0.hasNext()) {
- collect = accumulator_0;
- break;
- }
- @SuppressWarnings("null")
- /*@NonInvalid*/ org.eclipse.emf.ecore.@NonNull EPackage _1_0 = (EPackage)ITERATOR__1_0.next();
- /**
- * eClassifiers
- */
- @SuppressWarnings("null")
- final /*@NonInvalid*/ java.util.@NonNull List<EClassifier> eClassifiers = _1_0.getEClassifiers();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_eClassifiers = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_EClassifier, eClassifiers);
- //
- for (Object value : BOXED_eClassifiers.flatten().getElements()) {
- accumulator_0.add(value);
- }
- }
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.emf.ecore.@NonNull EClassifier referredEClassifier = this.getReferredEClassifier();
- final /*@Thrown*/ boolean includes = CollectionIncludesOperation.INSTANCE.evaluate(collect, referredEClassifier).booleanValue();
- implies = includes;
- }
- else {
- implies = ValueUtil.TRUE_VALUE;
- }
- CAUGHT_implies = implies;
- }
- catch (Exception e) {
- CAUGHT_implies = ValueUtil.createInvalidValue(e);
- }
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternClassNode_c_c_EClassifierIsInTypedModel, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_implies, UMLXTables.INT_0).booleanValue();
- symbol_0 = logDiagnostic;
- }
- return Boolean.TRUE == symbol_0;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case UMLXPackage.REL_PATTERN_CLASS_NODE__NAME:
- return getName();
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_MANY:
- return isIsMany();
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_NULL_FREE:
- return isIsNullFree();
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ORDERED:
- return isIsOrdered();
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_REQUIRED:
- return isIsRequired();
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_UNIQUE:
- return isIsUnique();
- case UMLXPackage.REL_PATTERN_CLASS_NODE__REFERRED_ECLASSIFIER:
- if (resolve) return getReferredEClassifier();
- return basicGetReferredEClassifier();
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ANON:
- return isIsAnon();
- case UMLXPackage.REL_PATTERN_CLASS_NODE__OUTGOING:
- return getOutgoing();
- case UMLXPackage.REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE:
- if (resolve) return getRelDomainNode();
- return basicGetRelDomainNode();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case UMLXPackage.REL_PATTERN_CLASS_NODE__NAME:
- setName((String)newValue);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_MANY:
- setIsMany((Boolean)newValue);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_NULL_FREE:
- setIsNullFree((Boolean)newValue);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ORDERED:
- setIsOrdered((Boolean)newValue);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_REQUIRED:
- setIsRequired((Boolean)newValue);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_UNIQUE:
- setIsUnique((Boolean)newValue);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__REFERRED_ECLASSIFIER:
- setReferredEClassifier((EClassifier)newValue);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ANON:
- setIsAnon((Boolean)newValue);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__OUTGOING:
- getOutgoing().clear();
- getOutgoing().addAll((Collection<? extends RelPatternEdge>)newValue);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE:
- setRelDomainNode((RelDomainNode)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case UMLXPackage.REL_PATTERN_CLASS_NODE__NAME:
- setName(NAME_EDEFAULT);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_MANY:
- setIsMany(IS_MANY_EDEFAULT);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_NULL_FREE:
- setIsNullFree(IS_NULL_FREE_EDEFAULT);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ORDERED:
- setIsOrdered(IS_ORDERED_EDEFAULT);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_REQUIRED:
- setIsRequired(IS_REQUIRED_EDEFAULT);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_UNIQUE:
- setIsUnique(IS_UNIQUE_EDEFAULT);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__REFERRED_ECLASSIFIER:
- setReferredEClassifier((EClassifier)null);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ANON:
- setIsAnon(IS_ANON_EDEFAULT);
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__OUTGOING:
- getOutgoing().clear();
- return;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE:
- setRelDomainNode((RelDomainNode)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case UMLXPackage.REL_PATTERN_CLASS_NODE__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_MANY:
- return isMany != IS_MANY_EDEFAULT;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_NULL_FREE:
- return isNullFree != IS_NULL_FREE_EDEFAULT;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ORDERED:
- return isOrdered != IS_ORDERED_EDEFAULT;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_REQUIRED:
- return isRequired != IS_REQUIRED_EDEFAULT;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_UNIQUE:
- return isUnique != IS_UNIQUE_EDEFAULT;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__REFERRED_ECLASSIFIER:
- return referredEClassifier != null;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ANON:
- return isAnon != IS_ANON_EDEFAULT;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__OUTGOING:
- return outgoing != null && !outgoing.isEmpty();
- case UMLXPackage.REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE:
- return relDomainNode != null;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
- if (baseClass == UMLXNamedElement.class) {
- switch (derivedFeatureID) {
- case UMLXPackage.REL_PATTERN_CLASS_NODE__NAME: return UMLXPackage.UMLX_NAMED_ELEMENT__NAME;
- default: return -1;
- }
- }
- if (baseClass == UMLXTypedElement.class) {
- switch (derivedFeatureID) {
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_MANY: return UMLXPackage.UMLX_TYPED_ELEMENT__IS_MANY;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_NULL_FREE: return UMLXPackage.UMLX_TYPED_ELEMENT__IS_NULL_FREE;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ORDERED: return UMLXPackage.UMLX_TYPED_ELEMENT__IS_ORDERED;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_REQUIRED: return UMLXPackage.UMLX_TYPED_ELEMENT__IS_REQUIRED;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__IS_UNIQUE: return UMLXPackage.UMLX_TYPED_ELEMENT__IS_UNIQUE;
- case UMLXPackage.REL_PATTERN_CLASS_NODE__REFERRED_ECLASSIFIER: return UMLXPackage.UMLX_TYPED_ELEMENT__REFERRED_ECLASSIFIER;
- default: return -1;
- }
- }
- return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
- if (baseClass == UMLXNamedElement.class) {
- switch (baseFeatureID) {
- case UMLXPackage.UMLX_NAMED_ELEMENT__NAME: return UMLXPackage.REL_PATTERN_CLASS_NODE__NAME;
- default: return -1;
- }
- }
- if (baseClass == UMLXTypedElement.class) {
- switch (baseFeatureID) {
- case UMLXPackage.UMLX_TYPED_ELEMENT__IS_MANY: return UMLXPackage.REL_PATTERN_CLASS_NODE__IS_MANY;
- case UMLXPackage.UMLX_TYPED_ELEMENT__IS_NULL_FREE: return UMLXPackage.REL_PATTERN_CLASS_NODE__IS_NULL_FREE;
- case UMLXPackage.UMLX_TYPED_ELEMENT__IS_ORDERED: return UMLXPackage.REL_PATTERN_CLASS_NODE__IS_ORDERED;
- case UMLXPackage.UMLX_TYPED_ELEMENT__IS_REQUIRED: return UMLXPackage.REL_PATTERN_CLASS_NODE__IS_REQUIRED;
- case UMLXPackage.UMLX_TYPED_ELEMENT__IS_UNIQUE: return UMLXPackage.REL_PATTERN_CLASS_NODE__IS_UNIQUE;
- case UMLXPackage.UMLX_TYPED_ELEMENT__REFERRED_ECLASSIFIER: return UMLXPackage.REL_PATTERN_CLASS_NODE__REFERRED_ECLASSIFIER;
- default: return -1;
- }
- }
- return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
- }
-
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull UMLXVisitor<R> visitor) {
- return visitor.visitRelPatternClassNode(this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- return super.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case UMLXPackage.REL_PATTERN_CLASS_NODE__OUTGOING:
- return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoing()).basicAdd(otherEnd, msgs);
- }
- return super.eInverseAdd(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case UMLXPackage.REL_PATTERN_CLASS_NODE__OUTGOING:
- return ((InternalEList<?>)getOutgoing()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
-} //RelPatternNodeImpl
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternEdgeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternEdgeImpl.java
index 475018b33..eb4c15841 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternEdgeImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternEdgeImpl.java
@@ -31,6 +31,7 @@ import org.eclipse.ocl.pivot.library.LibraryIteration;
import org.eclipse.ocl.pivot.library.collection.CollectionIncludesOperation;
import org.eclipse.ocl.pivot.library.logical.BooleanAndOperation;
import org.eclipse.ocl.pivot.library.logical.BooleanImpliesOperation;
+import org.eclipse.ocl.pivot.library.logical.BooleanNotOperation;
import org.eclipse.ocl.pivot.library.logical.BooleanOrOperation;
import org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsSetOperation;
import org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation;
@@ -46,12 +47,10 @@ import org.eclipse.ocl.pivot.utilities.ValueUtil;
import org.eclipse.ocl.pivot.values.InvalidValueException;
import org.eclipse.ocl.pivot.values.SetValue;
import org.eclipse.qvtd.umlx.RelDomainNode;
-import org.eclipse.qvtd.umlx.RelPatternClassNode;
import org.eclipse.qvtd.umlx.RelPatternEdge;
import org.eclipse.qvtd.umlx.RelPatternNode;
import org.eclipse.qvtd.umlx.UMLXPackage;
import org.eclipse.qvtd.umlx.UMLXTables;
-import org.eclipse.qvtd.umlx.UMLXTypedElement;
import org.eclipse.qvtd.umlx.util.UMLXVisitor;
/**
@@ -90,7 +89,7 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* @generated
* @ordered
*/
- protected RelPatternClassNode source;
+ protected RelPatternNode source;
/**
* The default value of the '{@link #getSourceIndex() <em>Source Index</em>}' attribute.
@@ -147,10 +146,10 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* @generated
*/
@Override
- public RelPatternClassNode getSource() {
+ public RelPatternNode getSource() {
if (source != null && source.eIsProxy()) {
InternalEObject oldSource = (InternalEObject)source;
- source = (RelPatternClassNode)eResolveProxy(oldSource);
+ source = (RelPatternNode)eResolveProxy(oldSource);
if (source != oldSource) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLXPackage.REL_PATTERN_EDGE__SOURCE, oldSource, source));
@@ -164,7 +163,7 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* <!-- end-user-doc -->
* @generated
*/
- public RelPatternClassNode basicGetSource() {
+ public RelPatternNode basicGetSource() {
return source;
}
@@ -173,8 +172,8 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* <!-- end-user-doc -->
* @generated
*/
- public NotificationChain basicSetSource(RelPatternClassNode newSource, NotificationChain msgs) {
- RelPatternClassNode oldSource = source;
+ public NotificationChain basicSetSource(RelPatternNode newSource, NotificationChain msgs) {
+ RelPatternNode oldSource = source;
source = newSource;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_EDGE__SOURCE, oldSource, newSource);
@@ -189,13 +188,13 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* @generated
*/
@Override
- public void setSource(RelPatternClassNode newSource) {
+ public void setSource(RelPatternNode newSource) {
if (newSource != source) {
NotificationChain msgs = null;
if (source != null)
- msgs = ((InternalEObject)source).eInverseRemove(this, UMLXPackage.REL_PATTERN_CLASS_NODE__OUTGOING, RelPatternClassNode.class, msgs);
+ msgs = ((InternalEObject)source).eInverseRemove(this, UMLXPackage.REL_PATTERN_NODE__OUTGOING, RelPatternNode.class, msgs);
if (newSource != null)
- msgs = ((InternalEObject)newSource).eInverseAdd(this, UMLXPackage.REL_PATTERN_CLASS_NODE__OUTGOING, RelPatternClassNode.class, msgs);
+ msgs = ((InternalEObject)newSource).eInverseAdd(this, UMLXPackage.REL_PATTERN_NODE__OUTGOING, RelPatternNode.class, msgs);
msgs = basicSetSource(newSource, msgs);
if (msgs != null) msgs.dispatch();
}
@@ -377,194 +376,57 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* @generated
*/
@Override
- public boolean validateCompatibleMemberPropertyTarget(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ public boolean validateSourceIsEClass(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
- * inv CompatibleMemberPropertyTarget:
- * let
- * severity : Integer[1] = 'RelPatternEdge::CompatibleMemberPropertyTarget'.getSeverity()
+ * inv SourceIsEClass:
+ * let severity : Integer[1] = 'RelPatternEdge::SourceIsEClass'.getSeverity()
* in
* if severity <= 0
* then true
* else
- * let result : Boolean[?] = referredEStructuralFeature = null and sourceIndex > 0 and
- * target.oclIsKindOf(RelPatternClassNode) implies
- * let
- * sourceEClass : ecore::EClass[1] = source.oclAsType(RelPatternClassNode)
- * .referredEClassifier.oclAsType(ecore::EClass)
- * in
- * let
- * targetEClass : ecore::EClass[1] = target.oclAsType(RelPatternClassNode)
- * .referredEClassifier.oclAsType(ecore::EClass)
- * in
- * sourceEClass->closure(eSuperTypes)
- * ->includes(targetEClass) or
- * targetEClass->closure(eSuperTypes)
- * ->includes(sourceEClass)
+ * let
+ * result : Boolean[?] = not source.isExpression() implies
+ * source.referredEClassifier.oclIsKindOf(ecore::EClassifier)
* in
- * 'RelPatternEdge::CompatibleMemberPropertyTarget'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * 'RelPatternEdge::SourceIsEClass'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
* endif
*/
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.@NonNull StandardLibrary standardLibrary = idResolver.getStandardLibrary();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleMemberPropertyTarget);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_SourceIsEClass);
final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
- /*@NonInvalid*/ boolean symbol_2;
+ /*@NonInvalid*/ boolean symbol_0;
if (le) {
- symbol_2 = ValueUtil.TRUE_VALUE;
+ symbol_0 = ValueUtil.TRUE_VALUE;
}
else {
/*@Caught*/ @Nullable Object CAUGHT_result;
try {
- final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature = this.getReferredEStructuralFeature();
- final /*@NonInvalid*/ boolean eq = referredEStructuralFeature == null;
- /*@NonInvalid*/ boolean and;
- if (eq) {
- final /*@NonInvalid*/ int sourceIndex = this.getSourceIndex();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue BOXED_sourceIndex = ValueUtil.integerValueOf(sourceIndex);
- final /*@NonInvalid*/ boolean gt = OclComparableGreaterThanOperation.INSTANCE.evaluate(executor, BOXED_sourceIndex, UMLXTables.INT_0).booleanValue();
- and = gt;
- }
- else {
- and = ValueUtil.FALSE_VALUE;
- }
- /*@NonInvalid*/ boolean and_0;
- if (and) {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_0 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target = this.getTarget();
- final /*@NonInvalid*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, target, TYP_umlx_c_c_RelPatternClassNode_0).booleanValue();
- and_0 = oclIsKindOf;
- }
- else {
- and_0 = ValueUtil.FALSE_VALUE;
- }
- /*@Thrown*/ java.lang.@Nullable Boolean result;
- if (and_0) {
- /*@Caught*/ @NonNull Object CAUGHT_sourceEClass;
- try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass_0 = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_1 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode source = this.getSource();
- final /*@Thrown*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode oclAsType = ClassUtil.nonNullState((RelPatternClassNode)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, source, TYP_umlx_c_c_RelPatternClassNode_1));
- @SuppressWarnings("null")
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClassifier referredEClassifier = oclAsType.getReferredEClassifier();
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass sourceEClass = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier, TYP_ecore_c_c_EClass_0));
- CAUGHT_sourceEClass = sourceEClass;
- }
- catch (Exception e) {
- CAUGHT_sourceEClass = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_targetEClass;
- try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass_1 = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_2 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target_0 = this.getTarget();
- final /*@Thrown*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode oclAsType_0 = ClassUtil.nonNullState((RelPatternClassNode)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, target_0, TYP_umlx_c_c_RelPatternClassNode_2));
- @SuppressWarnings("null")
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClassifier referredEClassifier_0 = oclAsType_0.getReferredEClassifier();
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass targetEClass = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier_0, TYP_ecore_c_c_EClass_1));
- CAUGHT_targetEClass = targetEClass;
- }
- catch (Exception e) {
- CAUGHT_targetEClass = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_includes;
- try {
- if (CAUGHT_sourceEClass instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_sourceEClass;
- }
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue oclAsSet = OclAnyOclAsSetOperation.INSTANCE.evaluate(executor, UMLXTables.SET_CLSSid_EClass, CAUGHT_sourceEClass);
- final org.eclipse.ocl.pivot.@NonNull Class TYPE_closure_1 = executor.getStaticTypeOf(oclAsSet);
- final LibraryIteration.@org.eclipse.jdt.annotation.NonNull LibraryIterationExtension IMPL_closure_1 = (LibraryIteration.LibraryIterationExtension)TYPE_closure_1.lookupImplementation(standardLibrary, OCLstdlibTables.Operations._Set__closure);
- final @NonNull Object ACC_closure_1 = IMPL_closure_1.createAccumulatorValue(executor, UMLXTables.SET_CLSSid_EClass, UMLXTables.ORD_CLSSid_EClass);
- /**
- * Implementation of the iterator body.
- */
- final @NonNull AbstractBinaryOperation BODY_closure_1 = new AbstractBinaryOperation() {
- /**
- * eSuperTypes
- */
- @Override
- public @Nullable Object evaluate(final @NonNull Executor executor, final @NonNull TypeId typeId, final @Nullable Object oclAsSet, final /*@NonInvalid*/ java.lang.@Nullable Object _1) {
- final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClass symbol_0 = (EClass)_1;
- if (symbol_0 == null) {
- throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/emf/2002/Ecore\'::EClass::eSuperTypes\'");
- }
- @SuppressWarnings("null")
- final /*@Thrown*/ java.util.@NonNull List<EClass> eSuperTypes = symbol_0.getESuperTypes();
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_eSuperTypes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_EClass, eSuperTypes);
- return BOXED_eSuperTypes;
- }
- };
- final @NonNull ExecutorSingleIterationManager MGR_closure_1 = new ExecutorSingleIterationManager(executor, UMLXTables.SET_CLSSid_EClass, BODY_closure_1, oclAsSet, ACC_closure_1);
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue closure = ClassUtil.nonNullState((SetValue)IMPL_closure_1.evaluateIteration(MGR_closure_1));
- if (CAUGHT_targetEClass instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_targetEClass;
- }
- final /*@Thrown*/ boolean includes = CollectionIncludesOperation.INSTANCE.evaluate(closure, CAUGHT_targetEClass).booleanValue();
- CAUGHT_includes = includes;
- }
- catch (Exception e) {
- CAUGHT_includes = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_includes_0;
- try {
- if (CAUGHT_targetEClass instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_targetEClass;
- }
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue oclAsSet_0 = OclAnyOclAsSetOperation.INSTANCE.evaluate(executor, UMLXTables.SET_CLSSid_EClass, CAUGHT_targetEClass);
- final org.eclipse.ocl.pivot.@NonNull Class TYPE_closure_0_0 = executor.getStaticTypeOf(oclAsSet_0);
- final LibraryIteration.@org.eclipse.jdt.annotation.NonNull LibraryIterationExtension IMPL_closure_0_0 = (LibraryIteration.LibraryIterationExtension)TYPE_closure_0_0.lookupImplementation(standardLibrary, OCLstdlibTables.Operations._Set__closure);
- final @NonNull Object ACC_closure_0_0 = IMPL_closure_0_0.createAccumulatorValue(executor, UMLXTables.SET_CLSSid_EClass, UMLXTables.ORD_CLSSid_EClass);
- /**
- * Implementation of the iterator body.
- */
- final @NonNull AbstractBinaryOperation BODY_closure_0_0 = new AbstractBinaryOperation() {
- /**
- * eSuperTypes
- */
- @Override
- public @Nullable Object evaluate(final @NonNull Executor executor, final @NonNull TypeId typeId, final @Nullable Object oclAsSet_0, final /*@NonInvalid*/ java.lang.@Nullable Object _1_0) {
- final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClass symbol_1 = (EClass)_1_0;
- if (symbol_1 == null) {
- throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/emf/2002/Ecore\'::EClass::eSuperTypes\'");
- }
- @SuppressWarnings("null")
- final /*@Thrown*/ java.util.@NonNull List<EClass> eSuperTypes_0 = symbol_1.getESuperTypes();
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_eSuperTypes_0 = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_EClass, eSuperTypes_0);
- return BOXED_eSuperTypes_0;
- }
- };
- final @NonNull ExecutorSingleIterationManager MGR_closure_0_0 = new ExecutorSingleIterationManager(executor, UMLXTables.SET_CLSSid_EClass, BODY_closure_0_0, oclAsSet_0, ACC_closure_0_0);
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue closure_0 = ClassUtil.nonNullState((SetValue)IMPL_closure_0_0.evaluateIteration(MGR_closure_0_0));
- if (CAUGHT_sourceEClass instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_sourceEClass;
- }
- final /*@Thrown*/ boolean includes_0 = CollectionIncludesOperation.INSTANCE.evaluate(closure_0, CAUGHT_sourceEClass).booleanValue();
- CAUGHT_includes_0 = includes_0;
- }
- catch (Exception e) {
- CAUGHT_includes_0 = ValueUtil.createInvalidValue(e);
- }
- final /*@Thrown*/ java.lang.@Nullable Boolean or = BooleanOrOperation.INSTANCE.evaluate(CAUGHT_includes, CAUGHT_includes_0);
- result = or;
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode source = this.getSource();
+ final /*@NonInvalid*/ boolean isExpression = source.isExpression();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isExpression);
+ /*@Caught*/ @NonNull Object CAUGHT_oclIsKindOf;
+ try {
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClassifier = idResolver.getClass(UMLXTables.CLSSid_EClassifier, null);
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier = source.getReferredEClassifier();
+ final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, referredEClassifier, TYP_ecore_c_c_EClassifier).booleanValue();
+ CAUGHT_oclIsKindOf = oclIsKindOf;
}
- else {
- result = ValueUtil.TRUE_VALUE;
+ catch (Exception e) {
+ CAUGHT_oclIsKindOf = ValueUtil.createInvalidValue(e);
}
+ final /*@Thrown*/ java.lang.@Nullable Boolean result = BooleanImpliesOperation.INSTANCE.evaluate(not, CAUGHT_oclIsKindOf);
CAUGHT_result = result;
}
catch (Exception e) {
CAUGHT_result = ValueUtil.createInvalidValue(e);
}
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleMemberPropertyTarget, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
- symbol_2 = logDiagnostic;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_SourceIsEClass, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
}
- return Boolean.TRUE == symbol_2;
+ return Boolean.TRUE == symbol_0;
}
/**
@@ -583,14 +445,12 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* if severity <= 0
* then true
* else
- * let
- * result : Boolean[1] = source.oclIsKindOf(RelPatternClassNode)
+ * let result : Boolean[?] = not source.isExpression()
* in
* 'RelPatternEdge::SourceIsClassNode'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
* endif
*/
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 IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_SourceIsClassNode);
final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
/*@NonInvalid*/ boolean symbol_0;
@@ -598,10 +458,10 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
symbol_0 = ValueUtil.TRUE_VALUE;
}
else {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_0 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
@SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode source = this.getSource();
- final /*@NonInvalid*/ boolean result = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, source, TYP_umlx_c_c_RelPatternClassNode_0).booleanValue();
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode source = this.getSource();
+ final /*@NonInvalid*/ boolean isExpression = source.isExpression();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean result = BooleanNotOperation.INSTANCE.evaluate(isExpression);
final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_SourceIsClassNode, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
symbol_0 = logDiagnostic;
}
@@ -614,56 +474,87 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* @generated
*/
@Override
- public boolean validateSourceIsEClass(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ public boolean validateCompatibleEAttributePropertyTarget(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
- * inv SourceIsEClass:
- * let severity : Integer[1] = 'RelPatternEdge::SourceIsEClass'.getSeverity()
+ * inv CompatibleEAttributePropertyTarget:
+ * let
+ * severity : Integer[1] = 'RelPatternEdge::CompatibleEAttributePropertyTarget'.getSeverity()
* in
* if severity <= 0
* then true
* else
- * let
- * result : Boolean[?] = source.oclIsKindOf(RelPatternClassNode) implies
- * source.oclAsType(RelPatternClassNode)
- * .referredEClassifier.oclIsKindOf(ecore::EClassifier)
+ * let result : Boolean[?] = referredEStructuralFeature <> null and
+ * referredEStructuralFeature.oclIsKindOf(ecore::EAttribute) and
+ * not target.isExpression() implies referredEStructuralFeature.eType = target.referredEClassifier
* in
- * 'RelPatternEdge::SourceIsEClass'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * 'RelPatternEdge::CompatibleEAttributePropertyTarget'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
* endif
*/
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 IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_SourceIsEClass);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleEAttributePropertyTarget);
final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
/*@NonInvalid*/ boolean symbol_0;
if (le) {
symbol_0 = ValueUtil.TRUE_VALUE;
}
else {
- /*@Caught*/ @NonNull Object CAUGHT_result;
+ /*@Caught*/ @Nullable Object CAUGHT_result;
try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_0 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode source = this.getSource();
- final /*@NonInvalid*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, source, TYP_umlx_c_c_RelPatternClassNode_0).booleanValue();
- /*@Thrown*/ boolean result;
- if (oclIsKindOf) {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClassifier = idResolver.getClass(UMLXTables.CLSSid_EClassifier, null);
- final /*@Thrown*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode oclAsType = ClassUtil.nonNullState((RelPatternClassNode)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, source, TYP_umlx_c_c_RelPatternClassNode_0));
+ /*@Caught*/ @Nullable Object CAUGHT_and_0;
+ try {
+ /*@Caught*/ @NonNull Object CAUGHT_and;
+ try {
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature_0 = this.getReferredEStructuralFeature();
+ final /*@NonInvalid*/ boolean ne = referredEStructuralFeature_0 != null;
+ /*@Thrown*/ boolean and;
+ if (ne) {
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EAttribute = idResolver.getClass(UMLXTables.CLSSid_EAttribute, null);
+ final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, referredEStructuralFeature_0, TYP_ecore_c_c_EAttribute).booleanValue();
+ and = oclIsKindOf;
+ }
+ else {
+ and = ValueUtil.FALSE_VALUE;
+ }
+ CAUGHT_and = and;
+ }
+ catch (Exception e) {
+ CAUGHT_and = ValueUtil.createInvalidValue(e);
+ }
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target = this.getTarget();
+ final /*@NonInvalid*/ boolean isExpression = target.isExpression();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isExpression);
+ final /*@Thrown*/ java.lang.@Nullable Boolean and_0 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_and, not);
+ CAUGHT_and_0 = and_0;
+ }
+ catch (Exception e) {
+ CAUGHT_and_0 = ValueUtil.createInvalidValue(e);
+ }
+ /*@Caught*/ @NonNull Object CAUGHT_eq;
+ try {
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature_1 = this.getReferredEStructuralFeature();
+ if (referredEStructuralFeature_1 == null) {
+ throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/emf/2002/Ecore\'::ETypedElement::eType\'");
+ }
+ final /*@Thrown*/ org.eclipse.emf.ecore.@Nullable EClassifier eType = referredEStructuralFeature_1.getEType();
@SuppressWarnings("null")
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClassifier referredEClassifier = oclAsType.getReferredEClassifier();
- final /*@Thrown*/ boolean oclIsKindOf_0 = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, referredEClassifier, TYP_ecore_c_c_EClassifier).booleanValue();
- result = oclIsKindOf_0;
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target_0 = this.getTarget();
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier = target_0.getReferredEClassifier();
+ final /*@Thrown*/ boolean eq = (eType != null) ? eType.equals(referredEClassifier) : (referredEClassifier == null);
+ CAUGHT_eq = eq;
}
- else {
- result = ValueUtil.TRUE_VALUE;
+ catch (Exception e) {
+ CAUGHT_eq = ValueUtil.createInvalidValue(e);
}
+ final /*@Thrown*/ java.lang.@Nullable Boolean result = BooleanImpliesOperation.INSTANCE.evaluate(CAUGHT_and_0, CAUGHT_eq);
CAUGHT_result = result;
}
catch (Exception e) {
CAUGHT_result = ValueUtil.createInvalidValue(e);
}
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_SourceIsEClass, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleEAttributePropertyTarget, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
symbol_0 = logDiagnostic;
}
return Boolean.TRUE == symbol_0;
@@ -675,23 +566,23 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* @generated
*/
@Override
- public boolean validateCompatibleSourceIndex(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ public boolean validateCompatibleSourceMultiplicity(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
- * inv CompatibleSourceIndex:
+ * inv CompatibleSourceMultiplicity:
* let
- * severity : Integer[1] = 'RelPatternEdge::CompatibleSourceIndex'.getSeverity()
+ * severity : Integer[1] = 'RelPatternEdge::CompatibleSourceMultiplicity'.getSeverity()
* in
* if severity <= 0
* then true
* else
- * let result : Boolean[1] = referredEStructuralFeature <> null = sourceIndex = 0
+ * let result : Boolean[1] = referredEStructuralFeature = null = source.isMany
* in
- * 'RelPatternEdge::CompatibleSourceIndex'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * 'RelPatternEdge::CompatibleSourceMultiplicity'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
* endif
*/
final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleSourceIndex);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleSourceMultiplicity);
final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
/*@NonInvalid*/ boolean symbol_0;
if (le) {
@@ -699,12 +590,12 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
}
else {
final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature = this.getReferredEStructuralFeature();
- final /*@NonInvalid*/ boolean ne = referredEStructuralFeature != null;
- final /*@NonInvalid*/ int sourceIndex = this.getSourceIndex();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue BOXED_sourceIndex = ValueUtil.integerValueOf(sourceIndex);
- final /*@NonInvalid*/ boolean eq = BOXED_sourceIndex.equals(UMLXTables.INT_0);
- final /*@NonInvalid*/ boolean result = ne == eq;
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleSourceIndex, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
+ final /*@NonInvalid*/ boolean eq = referredEStructuralFeature == null;
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode source = this.getSource();
+ final /*@NonInvalid*/ boolean isMany = source.isIsMany();
+ final /*@NonInvalid*/ boolean result = eq == isMany;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleSourceMultiplicity, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
symbol_0 = logDiagnostic;
}
return Boolean.TRUE == symbol_0;
@@ -716,285 +607,50 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* @generated
*/
@Override
- public boolean validateCompatibleRestPropertyTarget(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ public boolean validateCompatibleEReferencePropertyTarget(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
- * inv CompatibleRestPropertyTarget:
+ * inv CompatibleEReferencePropertyTarget:
* let
- * severity : Integer[1] = 'RelPatternEdge::CompatibleRestPropertyTarget'.getSeverity()
+ * severity : Integer[1] = 'RelPatternEdge::CompatibleEReferencePropertyTarget'.getSeverity()
* in
* if severity <= 0
* then true
* else
- * let result : Boolean[?] = referredEStructuralFeature = null and sourceIndex < 0 and
- * target.oclIsKindOf(RelPatternClassNode) implies
+ * let result : Boolean[?] = referredEStructuralFeature <> null and
+ * referredEStructuralFeature.oclIsKindOf(ecore::EReference) and
+ * not target.isExpression() implies
* let
- * sourceClassNode : RelPatternClassNode[1] = source.oclAsType(RelPatternClassNode)
+ * sourceEClass : ecore::EClass[1] = target.referredEClassifier.oclAsType(ecore::EClass)
* in
- * let
- * targetClassNode : RelPatternClassNode[1] = target.oclAsType(RelPatternClassNode)
- * in
- * let
- * sourceEClass : ecore::EClass[1] = sourceClassNode.referredEClassifier.oclAsType(ecore::EClass)
- * in
- * let
- * targetEClass : ecore::EClass[1] = targetClassNode.referredEClassifier.oclAsType(ecore::EClass)
- * in sourceEClass = targetEClass and sourceClassNode.isMany = targetClassNode.isMany and sourceClassNode.isNullFree = targetClassNode.isNullFree and sourceClassNode.isOrdered = targetClassNode.isOrdered and sourceClassNode.isUnique = targetClassNode.isUnique
- * in
- * 'RelPatternEdge::CompatibleRestPropertyTarget'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
- * endif
- */
- 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 IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleRestPropertyTarget);
- final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
- /*@NonInvalid*/ boolean symbol_0;
- if (le) {
- symbol_0 = ValueUtil.TRUE_VALUE;
- }
- else {
- /*@Caught*/ @Nullable Object CAUGHT_result;
- try {
- final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature = this.getReferredEStructuralFeature();
- final /*@NonInvalid*/ boolean eq = referredEStructuralFeature == null;
- /*@NonInvalid*/ boolean and;
- if (eq) {
- final /*@NonInvalid*/ int sourceIndex = this.getSourceIndex();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue BOXED_sourceIndex = ValueUtil.integerValueOf(sourceIndex);
- final /*@NonInvalid*/ boolean lt = OclComparableLessThanOperation.INSTANCE.evaluate(executor, BOXED_sourceIndex, UMLXTables.INT_0).booleanValue();
- and = lt;
- }
- else {
- and = ValueUtil.FALSE_VALUE;
- }
- /*@NonInvalid*/ boolean and_0;
- if (and) {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_0 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target = this.getTarget();
- final /*@NonInvalid*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, target, TYP_umlx_c_c_RelPatternClassNode_0).booleanValue();
- and_0 = oclIsKindOf;
- }
- else {
- and_0 = ValueUtil.FALSE_VALUE;
- }
- /*@Thrown*/ java.lang.@Nullable Boolean result;
- if (and_0) {
- /*@Caught*/ @NonNull Object CAUGHT_sourceClassNode;
- try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_1 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode source = this.getSource();
- final /*@Thrown*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode sourceClassNode = ClassUtil.nonNullState((RelPatternClassNode)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, source, TYP_umlx_c_c_RelPatternClassNode_1));
- CAUGHT_sourceClassNode = sourceClassNode;
- }
- catch (Exception e) {
- CAUGHT_sourceClassNode = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_targetClassNode;
- try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_2 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target_0 = this.getTarget();
- final /*@Thrown*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode targetClassNode = ClassUtil.nonNullState((RelPatternClassNode)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, target_0, TYP_umlx_c_c_RelPatternClassNode_2));
- CAUGHT_targetClassNode = targetClassNode;
- }
- catch (Exception e) {
- CAUGHT_targetClassNode = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_sourceEClass;
- try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass_0 = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
- if (CAUGHT_sourceClassNode instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_sourceClassNode;
- }
- @SuppressWarnings("null")
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClassifier referredEClassifier = ((UMLXTypedElement)CAUGHT_sourceClassNode).getReferredEClassifier();
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass sourceEClass = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier, TYP_ecore_c_c_EClass_0));
- CAUGHT_sourceEClass = sourceEClass;
- }
- catch (Exception e) {
- CAUGHT_sourceEClass = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_targetEClass;
- try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass_1 = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
- if (CAUGHT_targetClassNode instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_targetClassNode;
- }
- @SuppressWarnings("null")
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClassifier referredEClassifier_0 = ((UMLXTypedElement)CAUGHT_targetClassNode).getReferredEClassifier();
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass targetEClass = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier_0, TYP_ecore_c_c_EClass_1));
- CAUGHT_targetEClass = targetEClass;
- }
- catch (Exception e) {
- CAUGHT_targetEClass = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @Nullable Object CAUGHT_and_3;
- try {
- /*@Caught*/ @Nullable Object CAUGHT_and_2;
- try {
- /*@Caught*/ @Nullable Object CAUGHT_and_1;
- try {
- /*@Caught*/ @NonNull Object CAUGHT_eq_0;
- try {
- if (CAUGHT_sourceEClass instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_sourceEClass;
- }
- if (CAUGHT_targetEClass instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_targetEClass;
- }
- final /*@Thrown*/ boolean eq_0 = CAUGHT_sourceEClass.equals(CAUGHT_targetEClass);
- CAUGHT_eq_0 = eq_0;
- }
- catch (Exception e) {
- CAUGHT_eq_0 = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_eq_1;
- try {
- if (CAUGHT_sourceClassNode instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_sourceClassNode;
- }
- final /*@Thrown*/ boolean isMany = ((UMLXTypedElement)CAUGHT_sourceClassNode).isIsMany();
- if (CAUGHT_targetClassNode instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_targetClassNode;
- }
- final /*@Thrown*/ boolean isMany_0 = ((UMLXTypedElement)CAUGHT_targetClassNode).isIsMany();
- final /*@Thrown*/ boolean eq_1 = isMany == isMany_0;
- CAUGHT_eq_1 = eq_1;
- }
- catch (Exception e) {
- CAUGHT_eq_1 = ValueUtil.createInvalidValue(e);
- }
- final /*@Thrown*/ java.lang.@Nullable Boolean and_1 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_eq_0, CAUGHT_eq_1);
- CAUGHT_and_1 = and_1;
- }
- catch (Exception e) {
- CAUGHT_and_1 = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_eq_2;
- try {
- if (CAUGHT_sourceClassNode instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_sourceClassNode;
- }
- final /*@Thrown*/ boolean isNullFree = ((UMLXTypedElement)CAUGHT_sourceClassNode).isIsNullFree();
- if (CAUGHT_targetClassNode instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_targetClassNode;
- }
- final /*@Thrown*/ boolean isNullFree_0 = ((UMLXTypedElement)CAUGHT_targetClassNode).isIsNullFree();
- final /*@Thrown*/ boolean eq_2 = isNullFree == isNullFree_0;
- CAUGHT_eq_2 = eq_2;
- }
- catch (Exception e) {
- CAUGHT_eq_2 = ValueUtil.createInvalidValue(e);
- }
- final /*@Thrown*/ java.lang.@Nullable Boolean and_2 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_and_1, CAUGHT_eq_2);
- CAUGHT_and_2 = and_2;
- }
- catch (Exception e) {
- CAUGHT_and_2 = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_eq_3;
- try {
- if (CAUGHT_sourceClassNode instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_sourceClassNode;
- }
- final /*@Thrown*/ boolean isOrdered = ((UMLXTypedElement)CAUGHT_sourceClassNode).isIsOrdered();
- if (CAUGHT_targetClassNode instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_targetClassNode;
- }
- final /*@Thrown*/ boolean isOrdered_0 = ((UMLXTypedElement)CAUGHT_targetClassNode).isIsOrdered();
- final /*@Thrown*/ boolean eq_3 = isOrdered == isOrdered_0;
- CAUGHT_eq_3 = eq_3;
- }
- catch (Exception e) {
- CAUGHT_eq_3 = ValueUtil.createInvalidValue(e);
- }
- final /*@Thrown*/ java.lang.@Nullable Boolean and_3 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_and_2, CAUGHT_eq_3);
- CAUGHT_and_3 = and_3;
- }
- catch (Exception e) {
- CAUGHT_and_3 = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_eq_4;
- try {
- if (CAUGHT_sourceClassNode instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_sourceClassNode;
- }
- final /*@Thrown*/ boolean isUnique = ((UMLXTypedElement)CAUGHT_sourceClassNode).isIsUnique();
- if (CAUGHT_targetClassNode instanceof InvalidValueException) {
- throw (InvalidValueException)CAUGHT_targetClassNode;
- }
- final /*@Thrown*/ boolean isUnique_0 = ((UMLXTypedElement)CAUGHT_targetClassNode).isIsUnique();
- final /*@Thrown*/ boolean eq_4 = isUnique == isUnique_0;
- CAUGHT_eq_4 = eq_4;
- }
- catch (Exception e) {
- CAUGHT_eq_4 = ValueUtil.createInvalidValue(e);
- }
- final /*@Thrown*/ java.lang.@Nullable Boolean and_4 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_and_3, CAUGHT_eq_4);
- result = and_4;
- }
- else {
- result = ValueUtil.TRUE_VALUE;
- }
- CAUGHT_result = result;
- }
- catch (Exception e) {
- CAUGHT_result = ValueUtil.createInvalidValue(e);
- }
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleRestPropertyTarget, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
- symbol_0 = logDiagnostic;
- }
- return Boolean.TRUE == symbol_0;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean validateCompatibleEAttributePropertyTarget(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
- /**
- *
- * inv CompatibleEAttributePropertyTarget:
- * let
- * severity : Integer[1] = 'RelPatternEdge::CompatibleEAttributePropertyTarget'.getSeverity()
- * in
- * if severity <= 0
- * then true
- * else
- * let result : Boolean[?] = referredEStructuralFeature <> null and
- * referredEStructuralFeature.oclIsKindOf(ecore::EAttribute) and
- * target.oclIsKindOf(RelPatternClassNode) implies referredEStructuralFeature.eType =
- * target.oclAsType(RelPatternClassNode).referredEClassifier
+ * sourceEClass->closure(eSuperTypes)
+ * ->includes(referredEStructuralFeature.eType)
* in
- * 'RelPatternEdge::CompatibleEAttributePropertyTarget'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * 'RelPatternEdge::CompatibleEReferencePropertyTarget'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
* endif
*/
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 IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleEAttributePropertyTarget);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull StandardLibrary standardLibrary = idResolver.getStandardLibrary();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleEReferencePropertyTarget);
final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
- /*@NonInvalid*/ boolean symbol_0;
+ /*@NonInvalid*/ boolean symbol_1;
if (le) {
- symbol_0 = ValueUtil.TRUE_VALUE;
+ symbol_1 = ValueUtil.TRUE_VALUE;
}
else {
/*@Caught*/ @Nullable Object CAUGHT_result;
try {
/*@Caught*/ @Nullable Object CAUGHT_and_0;
try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_0 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
/*@Caught*/ @NonNull Object CAUGHT_and;
try {
final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature_0 = this.getReferredEStructuralFeature();
final /*@NonInvalid*/ boolean ne = referredEStructuralFeature_0 != null;
/*@Thrown*/ boolean and;
if (ne) {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EAttribute = idResolver.getClass(UMLXTables.CLSSid_EAttribute, null);
- final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, referredEStructuralFeature_0, TYP_ecore_c_c_EAttribute).booleanValue();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EReference = idResolver.getClass(UMLXTables.CLSSid_EReference, null);
+ final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, referredEStructuralFeature_0, TYP_ecore_c_c_EReference).booleanValue();
and = oclIsKindOf;
}
else {
@@ -1007,42 +663,67 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
}
@SuppressWarnings("null")
final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target = this.getTarget();
- final /*@NonInvalid*/ boolean oclIsKindOf_0 = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, target, TYP_umlx_c_c_RelPatternClassNode_0).booleanValue();
- final /*@Thrown*/ java.lang.@Nullable Boolean and_0 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_and, oclIsKindOf_0);
+ final /*@NonInvalid*/ boolean isExpression = target.isExpression();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isExpression);
+ final /*@Thrown*/ java.lang.@Nullable Boolean and_0 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_and, not);
CAUGHT_and_0 = and_0;
}
catch (Exception e) {
CAUGHT_and_0 = ValueUtil.createInvalidValue(e);
}
- /*@Caught*/ @NonNull Object CAUGHT_eq;
+ /*@Caught*/ @NonNull Object CAUGHT_includes;
try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_1 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass_0 = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target_0 = this.getTarget();
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier = target_0.getReferredEClassifier();
+ final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass sourceEClass = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier, TYP_ecore_c_c_EClass_0));
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue oclAsSet = OclAnyOclAsSetOperation.INSTANCE.evaluate(executor, UMLXTables.SET_CLSSid_EClass, sourceEClass);
+ final org.eclipse.ocl.pivot.@NonNull Class TYPE_closure_0 = executor.getStaticTypeOf(oclAsSet);
+ final LibraryIteration.@org.eclipse.jdt.annotation.NonNull LibraryIterationExtension IMPL_closure_0 = (LibraryIteration.LibraryIterationExtension)TYPE_closure_0.lookupImplementation(standardLibrary, OCLstdlibTables.Operations._Set__closure);
+ final @NonNull Object ACC_closure_0 = IMPL_closure_0.createAccumulatorValue(executor, UMLXTables.SET_CLSSid_EClass, UMLXTables.ORD_CLSSid_EClass);
+ /**
+ * Implementation of the iterator body.
+ */
+ final @NonNull AbstractBinaryOperation BODY_closure_0 = new AbstractBinaryOperation() {
+ /**
+ * eSuperTypes
+ */
+ @Override
+ public @Nullable Object evaluate(final @NonNull Executor executor, final @NonNull TypeId typeId, final @Nullable Object oclAsSet, final /*@NonInvalid*/ java.lang.@Nullable Object _1) {
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClass symbol_0 = (EClass)_1;
+ if (symbol_0 == null) {
+ throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/emf/2002/Ecore\'::EClass::eSuperTypes\'");
+ }
+ @SuppressWarnings("null")
+ final /*@Thrown*/ java.util.@NonNull List<EClass> eSuperTypes = symbol_0.getESuperTypes();
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_eSuperTypes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_EClass, eSuperTypes);
+ return BOXED_eSuperTypes;
+ }
+ };
+ final @NonNull ExecutorSingleIterationManager MGR_closure_0 = new ExecutorSingleIterationManager(executor, UMLXTables.SET_CLSSid_EClass, BODY_closure_0, oclAsSet, ACC_closure_0);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue closure = ClassUtil.nonNullState((SetValue)IMPL_closure_0.evaluateIteration(MGR_closure_0));
final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature_1 = this.getReferredEStructuralFeature();
if (referredEStructuralFeature_1 == null) {
throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/emf/2002/Ecore\'::ETypedElement::eType\'");
}
final /*@Thrown*/ org.eclipse.emf.ecore.@Nullable EClassifier eType = referredEStructuralFeature_1.getEType();
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target_0 = this.getTarget();
- final /*@Thrown*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode oclAsType = ClassUtil.nonNullState((RelPatternClassNode)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, target_0, TYP_umlx_c_c_RelPatternClassNode_1));
- @SuppressWarnings("null")
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClassifier referredEClassifier = oclAsType.getReferredEClassifier();
- final /*@Thrown*/ boolean eq = referredEClassifier.equals(eType);
- CAUGHT_eq = eq;
+ final /*@Thrown*/ boolean includes = CollectionIncludesOperation.INSTANCE.evaluate(closure, eType).booleanValue();
+ CAUGHT_includes = includes;
}
catch (Exception e) {
- CAUGHT_eq = ValueUtil.createInvalidValue(e);
+ CAUGHT_includes = ValueUtil.createInvalidValue(e);
}
- final /*@Thrown*/ java.lang.@Nullable Boolean result = BooleanImpliesOperation.INSTANCE.evaluate(CAUGHT_and_0, CAUGHT_eq);
+ final /*@Thrown*/ java.lang.@Nullable Boolean result = BooleanImpliesOperation.INSTANCE.evaluate(CAUGHT_and_0, CAUGHT_includes);
CAUGHT_result = result;
}
catch (Exception e) {
CAUGHT_result = ValueUtil.createInvalidValue(e);
}
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleEAttributePropertyTarget, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
- symbol_0 = logDiagnostic;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleEReferencePropertyTarget, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ symbol_1 = logDiagnostic;
}
- return Boolean.TRUE == symbol_0;
+ return Boolean.TRUE == symbol_1;
}
/**
@@ -1062,8 +743,7 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* then true
* else
* let result : Boolean[?] = referredEStructuralFeature <> null implies
- * source.oclAsType(RelPatternClassNode)
- * .referredEClassifier.oclAsType(ecore::EClass)
+ * source.referredEClassifier.oclAsType(ecore::EClass)
* ->closure(eSuperTypes)
* ->includes(referredEStructuralFeature.eContainingClass)
* in
@@ -1087,14 +767,11 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
/*@Thrown*/ boolean result;
if (ne) {
final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_0 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode source = this.getSource();
- final /*@Thrown*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode oclAsType = ClassUtil.nonNullState((RelPatternClassNode)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, source, TYP_umlx_c_c_RelPatternClassNode_0));
@SuppressWarnings("null")
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClassifier referredEClassifier = oclAsType.getReferredEClassifier();
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass oclAsType_0 = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier, TYP_ecore_c_c_EClass));
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue oclAsSet = OclAnyOclAsSetOperation.INSTANCE.evaluate(executor, UMLXTables.SET_CLSSid_EClass, oclAsType_0);
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode source = this.getSource();
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier = source.getReferredEClassifier();
+ final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass oclAsType = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier, TYP_ecore_c_c_EClass));
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue oclAsSet = OclAnyOclAsSetOperation.INSTANCE.evaluate(executor, UMLXTables.SET_CLSSid_EClass, oclAsType);
final org.eclipse.ocl.pivot.@NonNull Class TYPE_closure_0 = executor.getStaticTypeOf(oclAsSet);
final LibraryIteration.@org.eclipse.jdt.annotation.NonNull LibraryIterationExtension IMPL_closure_0 = (LibraryIteration.LibraryIterationExtension)TYPE_closure_0.lookupImplementation(standardLibrary, OCLstdlibTables.Operations._Set__closure);
final @NonNull Object ACC_closure_0 = IMPL_closure_0.createAccumulatorValue(executor, UMLXTables.SET_CLSSid_EClass, UMLXTables.ORD_CLSSid_EClass);
@@ -1146,47 +823,196 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* @generated
*/
@Override
- public boolean validateCompatibleSourceMultiplicity(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ public boolean validateCompatibleSourceIndex(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
- * inv CompatibleSourceMultiplicity:
+ * inv CompatibleSourceIndex:
* let
- * severity : Integer[1] = 'RelPatternEdge::CompatibleSourceMultiplicity'.getSeverity()
+ * severity : Integer[1] = 'RelPatternEdge::CompatibleSourceIndex'.getSeverity()
* in
* if severity <= 0
* then true
* else
- * let result : Boolean[1] = referredEStructuralFeature = null =
- * source.oclAsType(RelPatternClassNode).isMany
+ * let result : Boolean[1] = referredEStructuralFeature <> null = sourceIndex = 0
* in
- * 'RelPatternEdge::CompatibleSourceMultiplicity'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * 'RelPatternEdge::CompatibleSourceIndex'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleSourceIndex);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature = this.getReferredEStructuralFeature();
+ final /*@NonInvalid*/ boolean ne = referredEStructuralFeature != null;
+ final /*@NonInvalid*/ int sourceIndex = this.getSourceIndex();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue BOXED_sourceIndex = ValueUtil.integerValueOf(sourceIndex);
+ final /*@NonInvalid*/ boolean eq = BOXED_sourceIndex.equals(UMLXTables.INT_0);
+ final /*@NonInvalid*/ boolean result = ne == eq;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleSourceIndex, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean validateCompatibleRestPropertyTarget(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv CompatibleRestPropertyTarget:
+ * let
+ * severity : Integer[1] = 'RelPatternEdge::CompatibleRestPropertyTarget'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let result : Boolean[?] = referredEStructuralFeature = null and sourceIndex < 0 and
+ * not target.isExpression() implies
+ * let
+ * sourceEClass : ecore::EClass[1] = source.referredEClassifier.oclAsType(ecore::EClass)
+ * in
+ * let
+ * targetEClass : ecore::EClass[1] = target.referredEClassifier.oclAsType(ecore::EClass)
+ * in sourceEClass = targetEClass and source.isMany = target.isMany and source.isNullFree = target.isNullFree and source.isOrdered = target.isOrdered and source.isUnique = target.isUnique
+ * in
+ * 'RelPatternEdge::CompatibleRestPropertyTarget'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
* endif
*/
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 IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleSourceMultiplicity);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleRestPropertyTarget);
final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
/*@NonInvalid*/ boolean symbol_0;
if (le) {
symbol_0 = ValueUtil.TRUE_VALUE;
}
else {
- /*@Caught*/ @NonNull Object CAUGHT_result;
+ /*@Caught*/ @Nullable Object CAUGHT_result;
try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_0 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature = this.getReferredEStructuralFeature();
final /*@NonInvalid*/ boolean eq = referredEStructuralFeature == null;
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode source = this.getSource();
- final /*@Thrown*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode oclAsType = ClassUtil.nonNullState((RelPatternClassNode)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, source, TYP_umlx_c_c_RelPatternClassNode_0));
- final /*@Thrown*/ boolean isMany = oclAsType.isIsMany();
- final /*@Thrown*/ boolean result = eq == isMany;
+ /*@NonInvalid*/ boolean and;
+ if (eq) {
+ final /*@NonInvalid*/ int sourceIndex = this.getSourceIndex();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue BOXED_sourceIndex = ValueUtil.integerValueOf(sourceIndex);
+ final /*@NonInvalid*/ boolean lt = OclComparableLessThanOperation.INSTANCE.evaluate(executor, BOXED_sourceIndex, UMLXTables.INT_0).booleanValue();
+ and = lt;
+ }
+ else {
+ and = ValueUtil.FALSE_VALUE;
+ }
+ /*@NonInvalid*/ java.lang.@Nullable Boolean and_0;
+ if (and) {
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target = this.getTarget();
+ final /*@NonInvalid*/ boolean isExpression = target.isExpression();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isExpression);
+ and_0 = not;
+ }
+ else {
+ and_0 = ValueUtil.FALSE_VALUE;
+ }
+ /*@Caught*/ @Nullable Object CAUGHT_and_4;
+ try {
+ /*@Caught*/ @NonNull Object CAUGHT_sourceEClass;
+ try {
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass_0 = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode source = this.getSource();
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier = source.getReferredEClassifier();
+ final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass sourceEClass = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier, TYP_ecore_c_c_EClass_0));
+ CAUGHT_sourceEClass = sourceEClass;
+ }
+ catch (Exception e) {
+ CAUGHT_sourceEClass = ValueUtil.createInvalidValue(e);
+ }
+ /*@Caught*/ @NonNull Object CAUGHT_targetEClass;
+ try {
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass_1 = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target_0 = this.getTarget();
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier_0 = target_0.getReferredEClassifier();
+ final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass targetEClass = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier_0, TYP_ecore_c_c_EClass_1));
+ CAUGHT_targetEClass = targetEClass;
+ }
+ catch (Exception e) {
+ CAUGHT_targetEClass = ValueUtil.createInvalidValue(e);
+ }
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode source_3 = this.getSource();
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target_4 = this.getTarget();
+ /*@Caught*/ @Nullable Object CAUGHT_and_3;
+ try {
+ /*@Caught*/ @Nullable Object CAUGHT_and_2;
+ try {
+ /*@Caught*/ @Nullable Object CAUGHT_and_1;
+ try {
+ /*@Caught*/ @NonNull Object CAUGHT_eq_0;
+ try {
+ if (CAUGHT_sourceEClass instanceof InvalidValueException) {
+ throw (InvalidValueException)CAUGHT_sourceEClass;
+ }
+ if (CAUGHT_targetEClass instanceof InvalidValueException) {
+ throw (InvalidValueException)CAUGHT_targetEClass;
+ }
+ final /*@Thrown*/ boolean eq_0 = CAUGHT_sourceEClass.equals(CAUGHT_targetEClass);
+ CAUGHT_eq_0 = eq_0;
+ }
+ catch (Exception e) {
+ CAUGHT_eq_0 = ValueUtil.createInvalidValue(e);
+ }
+ final /*@NonInvalid*/ boolean isMany = source_3.isIsMany();
+ final /*@NonInvalid*/ boolean isMany_0 = target_4.isIsMany();
+ final /*@NonInvalid*/ boolean eq_1 = isMany == isMany_0;
+ final /*@Thrown*/ java.lang.@Nullable Boolean and_1 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_eq_0, eq_1);
+ CAUGHT_and_1 = and_1;
+ }
+ catch (Exception e) {
+ CAUGHT_and_1 = ValueUtil.createInvalidValue(e);
+ }
+ final /*@NonInvalid*/ boolean isNullFree = source_3.isIsNullFree();
+ final /*@NonInvalid*/ boolean isNullFree_0 = target_4.isIsNullFree();
+ final /*@NonInvalid*/ boolean eq_2 = isNullFree == isNullFree_0;
+ final /*@Thrown*/ java.lang.@Nullable Boolean and_2 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_and_1, eq_2);
+ CAUGHT_and_2 = and_2;
+ }
+ catch (Exception e) {
+ CAUGHT_and_2 = ValueUtil.createInvalidValue(e);
+ }
+ final /*@NonInvalid*/ boolean isOrdered = source_3.isIsOrdered();
+ final /*@NonInvalid*/ boolean isOrdered_0 = target_4.isIsOrdered();
+ final /*@NonInvalid*/ boolean eq_3 = isOrdered == isOrdered_0;
+ final /*@Thrown*/ java.lang.@Nullable Boolean and_3 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_and_2, eq_3);
+ CAUGHT_and_3 = and_3;
+ }
+ catch (Exception e) {
+ CAUGHT_and_3 = ValueUtil.createInvalidValue(e);
+ }
+ final /*@NonInvalid*/ boolean isUnique = source_3.isIsUnique();
+ final /*@NonInvalid*/ boolean isUnique_0 = target_4.isIsUnique();
+ final /*@NonInvalid*/ boolean eq_4 = isUnique == isUnique_0;
+ final /*@Thrown*/ java.lang.@Nullable Boolean and_4 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_and_3, eq_4);
+ CAUGHT_and_4 = and_4;
+ }
+ catch (Exception e) {
+ CAUGHT_and_4 = ValueUtil.createInvalidValue(e);
+ }
+ final /*@Thrown*/ java.lang.@Nullable Boolean result = BooleanImpliesOperation.INSTANCE.evaluate(and_0, CAUGHT_and_4);
CAUGHT_result = result;
}
catch (Exception e) {
CAUGHT_result = ValueUtil.createInvalidValue(e);
}
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleSourceMultiplicity, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleRestPropertyTarget, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
symbol_0 = logDiagnostic;
}
return Boolean.TRUE == symbol_0;
@@ -1198,127 +1024,187 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
* @generated
*/
@Override
- public boolean validateCompatibleEReferencePropertyTarget(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ public boolean validateCompatibleMemberPropertyTarget(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
- * inv CompatibleEReferencePropertyTarget:
+ * inv CompatibleMemberPropertyTarget:
* let
- * severity : Integer[1] = 'RelPatternEdge::CompatibleEReferencePropertyTarget'.getSeverity()
+ * severity : Integer[1] = 'RelPatternEdge::CompatibleMemberPropertyTarget'.getSeverity()
* in
* if severity <= 0
* then true
* else
- * let result : Boolean[?] = referredEStructuralFeature <> null and
- * referredEStructuralFeature.oclIsKindOf(ecore::EReference) and
- * target.oclIsKindOf(RelPatternClassNode) implies
+ * let result : Boolean[?] = referredEStructuralFeature = null and sourceIndex > 0 and
+ * not target.isExpression() implies
* let
- * sourceEClass : ecore::EClass[1] = target.oclAsType(RelPatternClassNode)
- * .referredEClassifier.oclAsType(ecore::EClass)
+ * sourceEClass : ecore::EClass[1] = source.referredEClassifier.oclAsType(ecore::EClass)
* in
- * sourceEClass->closure(eSuperTypes)
- * ->includes(referredEStructuralFeature.eType)
+ * let
+ * targetEClass : ecore::EClass[1] = target.referredEClassifier.oclAsType(ecore::EClass)
+ * in
+ * sourceEClass->closure(eSuperTypes)
+ * ->includes(targetEClass) or
+ * targetEClass->closure(eSuperTypes)
+ * ->includes(sourceEClass)
* in
- * 'RelPatternEdge::CompatibleEReferencePropertyTarget'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * 'RelPatternEdge::CompatibleMemberPropertyTarget'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
* endif
*/
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.@NonNull StandardLibrary standardLibrary = idResolver.getStandardLibrary();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleEReferencePropertyTarget);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternEdge_c_c_CompatibleMemberPropertyTarget);
final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
- /*@NonInvalid*/ boolean symbol_1;
+ /*@NonInvalid*/ boolean symbol_2;
if (le) {
- symbol_1 = ValueUtil.TRUE_VALUE;
+ symbol_2 = ValueUtil.TRUE_VALUE;
}
else {
/*@Caught*/ @Nullable Object CAUGHT_result;
try {
- /*@Caught*/ @Nullable Object CAUGHT_and_0;
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature = this.getReferredEStructuralFeature();
+ final /*@NonInvalid*/ boolean eq = referredEStructuralFeature == null;
+ /*@NonInvalid*/ boolean and;
+ if (eq) {
+ final /*@NonInvalid*/ int sourceIndex = this.getSourceIndex();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue BOXED_sourceIndex = ValueUtil.integerValueOf(sourceIndex);
+ final /*@NonInvalid*/ boolean gt = OclComparableGreaterThanOperation.INSTANCE.evaluate(executor, BOXED_sourceIndex, UMLXTables.INT_0).booleanValue();
+ and = gt;
+ }
+ else {
+ and = ValueUtil.FALSE_VALUE;
+ }
+ /*@NonInvalid*/ java.lang.@Nullable Boolean and_0;
+ if (and) {
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target = this.getTarget();
+ final /*@NonInvalid*/ boolean isExpression = target.isExpression();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isExpression);
+ and_0 = not;
+ }
+ else {
+ and_0 = ValueUtil.FALSE_VALUE;
+ }
+ /*@Caught*/ @Nullable Object CAUGHT_or;
try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_0 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
- /*@Caught*/ @NonNull Object CAUGHT_and;
+ /*@Caught*/ @NonNull Object CAUGHT_sourceEClass;
try {
- final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature_0 = this.getReferredEStructuralFeature();
- final /*@NonInvalid*/ boolean ne = referredEStructuralFeature_0 != null;
- /*@Thrown*/ boolean and;
- if (ne) {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EReference = idResolver.getClass(UMLXTables.CLSSid_EReference, null);
- final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, referredEStructuralFeature_0, TYP_ecore_c_c_EReference).booleanValue();
- and = oclIsKindOf;
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass_0 = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode source = this.getSource();
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier = source.getReferredEClassifier();
+ final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass sourceEClass = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier, TYP_ecore_c_c_EClass_0));
+ CAUGHT_sourceEClass = sourceEClass;
+ }
+ catch (Exception e) {
+ CAUGHT_sourceEClass = ValueUtil.createInvalidValue(e);
+ }
+ /*@Caught*/ @NonNull Object CAUGHT_targetEClass;
+ try {
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass_1 = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target_0 = this.getTarget();
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier_0 = target_0.getReferredEClassifier();
+ final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass targetEClass = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier_0, TYP_ecore_c_c_EClass_1));
+ CAUGHT_targetEClass = targetEClass;
+ }
+ catch (Exception e) {
+ CAUGHT_targetEClass = ValueUtil.createInvalidValue(e);
+ }
+ /*@Caught*/ @NonNull Object CAUGHT_includes;
+ try {
+ if (CAUGHT_sourceEClass instanceof InvalidValueException) {
+ throw (InvalidValueException)CAUGHT_sourceEClass;
}
- else {
- and = ValueUtil.FALSE_VALUE;
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue oclAsSet = OclAnyOclAsSetOperation.INSTANCE.evaluate(executor, UMLXTables.SET_CLSSid_EClass, CAUGHT_sourceEClass);
+ final org.eclipse.ocl.pivot.@NonNull Class TYPE_closure_1 = executor.getStaticTypeOf(oclAsSet);
+ final LibraryIteration.@org.eclipse.jdt.annotation.NonNull LibraryIterationExtension IMPL_closure_1 = (LibraryIteration.LibraryIterationExtension)TYPE_closure_1.lookupImplementation(standardLibrary, OCLstdlibTables.Operations._Set__closure);
+ final @NonNull Object ACC_closure_1 = IMPL_closure_1.createAccumulatorValue(executor, UMLXTables.SET_CLSSid_EClass, UMLXTables.ORD_CLSSid_EClass);
+ /**
+ * Implementation of the iterator body.
+ */
+ final @NonNull AbstractBinaryOperation BODY_closure_1 = new AbstractBinaryOperation() {
+ /**
+ * eSuperTypes
+ */
+ @Override
+ public @Nullable Object evaluate(final @NonNull Executor executor, final @NonNull TypeId typeId, final @Nullable Object oclAsSet, final /*@NonInvalid*/ java.lang.@Nullable Object _1) {
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClass symbol_0 = (EClass)_1;
+ if (symbol_0 == null) {
+ throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/emf/2002/Ecore\'::EClass::eSuperTypes\'");
+ }
+ @SuppressWarnings("null")
+ final /*@Thrown*/ java.util.@NonNull List<EClass> eSuperTypes = symbol_0.getESuperTypes();
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_eSuperTypes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_EClass, eSuperTypes);
+ return BOXED_eSuperTypes;
+ }
+ };
+ final @NonNull ExecutorSingleIterationManager MGR_closure_1 = new ExecutorSingleIterationManager(executor, UMLXTables.SET_CLSSid_EClass, BODY_closure_1, oclAsSet, ACC_closure_1);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue closure = ClassUtil.nonNullState((SetValue)IMPL_closure_1.evaluateIteration(MGR_closure_1));
+ if (CAUGHT_targetEClass instanceof InvalidValueException) {
+ throw (InvalidValueException)CAUGHT_targetEClass;
}
- CAUGHT_and = and;
+ final /*@Thrown*/ boolean includes = CollectionIncludesOperation.INSTANCE.evaluate(closure, CAUGHT_targetEClass).booleanValue();
+ CAUGHT_includes = includes;
}
catch (Exception e) {
- CAUGHT_and = ValueUtil.createInvalidValue(e);
+ CAUGHT_includes = ValueUtil.createInvalidValue(e);
}
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target = this.getTarget();
- final /*@NonInvalid*/ boolean oclIsKindOf_0 = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, target, TYP_umlx_c_c_RelPatternClassNode_0).booleanValue();
- final /*@Thrown*/ java.lang.@Nullable Boolean and_0 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_and, oclIsKindOf_0);
- CAUGHT_and_0 = and_0;
- }
- catch (Exception e) {
- CAUGHT_and_0 = ValueUtil.createInvalidValue(e);
- }
- /*@Caught*/ @NonNull Object CAUGHT_includes;
- try {
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ecore_c_c_EClass_0 = idResolver.getClass(UMLXTables.CLSSid_EClass, null);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_umlx_c_c_RelPatternClassNode_1 = idResolver.getClass(UMLXTables.CLSSid_RelPatternClassNode, null);
- @SuppressWarnings("null")
- final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelPatternNode target_0 = this.getTarget();
- final /*@Thrown*/ org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode oclAsType = ClassUtil.nonNullState((RelPatternClassNode)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, target_0, TYP_umlx_c_c_RelPatternClassNode_1));
- @SuppressWarnings("null")
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClassifier referredEClassifier = oclAsType.getReferredEClassifier();
- final /*@Thrown*/ org.eclipse.emf.ecore.@NonNull EClass sourceEClass = ClassUtil.nonNullState((EClass)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, referredEClassifier, TYP_ecore_c_c_EClass_0));
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue oclAsSet = OclAnyOclAsSetOperation.INSTANCE.evaluate(executor, UMLXTables.SET_CLSSid_EClass, sourceEClass);
- final org.eclipse.ocl.pivot.@NonNull Class TYPE_closure_0 = executor.getStaticTypeOf(oclAsSet);
- final LibraryIteration.@org.eclipse.jdt.annotation.NonNull LibraryIterationExtension IMPL_closure_0 = (LibraryIteration.LibraryIterationExtension)TYPE_closure_0.lookupImplementation(standardLibrary, OCLstdlibTables.Operations._Set__closure);
- final @NonNull Object ACC_closure_0 = IMPL_closure_0.createAccumulatorValue(executor, UMLXTables.SET_CLSSid_EClass, UMLXTables.ORD_CLSSid_EClass);
- /**
- * Implementation of the iterator body.
- */
- final @NonNull AbstractBinaryOperation BODY_closure_0 = new AbstractBinaryOperation() {
+ /*@Caught*/ @NonNull Object CAUGHT_includes_0;
+ try {
+ if (CAUGHT_targetEClass instanceof InvalidValueException) {
+ throw (InvalidValueException)CAUGHT_targetEClass;
+ }
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue oclAsSet_0 = OclAnyOclAsSetOperation.INSTANCE.evaluate(executor, UMLXTables.SET_CLSSid_EClass, CAUGHT_targetEClass);
+ final org.eclipse.ocl.pivot.@NonNull Class TYPE_closure_0_0 = executor.getStaticTypeOf(oclAsSet_0);
+ final LibraryIteration.@org.eclipse.jdt.annotation.NonNull LibraryIterationExtension IMPL_closure_0_0 = (LibraryIteration.LibraryIterationExtension)TYPE_closure_0_0.lookupImplementation(standardLibrary, OCLstdlibTables.Operations._Set__closure);
+ final @NonNull Object ACC_closure_0_0 = IMPL_closure_0_0.createAccumulatorValue(executor, UMLXTables.SET_CLSSid_EClass, UMLXTables.ORD_CLSSid_EClass);
/**
- * eSuperTypes
+ * Implementation of the iterator body.
*/
- @Override
- public @Nullable Object evaluate(final @NonNull Executor executor, final @NonNull TypeId typeId, final @Nullable Object oclAsSet, final /*@NonInvalid*/ java.lang.@Nullable Object _1) {
- final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClass symbol_0 = (EClass)_1;
- if (symbol_0 == null) {
- throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/emf/2002/Ecore\'::EClass::eSuperTypes\'");
+ final @NonNull AbstractBinaryOperation BODY_closure_0_0 = new AbstractBinaryOperation() {
+ /**
+ * eSuperTypes
+ */
+ @Override
+ public @Nullable Object evaluate(final @NonNull Executor executor, final @NonNull TypeId typeId, final @Nullable Object oclAsSet_0, final /*@NonInvalid*/ java.lang.@Nullable Object _1_0) {
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClass symbol_1 = (EClass)_1_0;
+ if (symbol_1 == null) {
+ throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/emf/2002/Ecore\'::EClass::eSuperTypes\'");
+ }
+ @SuppressWarnings("null")
+ final /*@Thrown*/ java.util.@NonNull List<EClass> eSuperTypes_0 = symbol_1.getESuperTypes();
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_eSuperTypes_0 = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_EClass, eSuperTypes_0);
+ return BOXED_eSuperTypes_0;
}
- @SuppressWarnings("null")
- final /*@Thrown*/ java.util.@NonNull List<EClass> eSuperTypes = symbol_0.getESuperTypes();
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_eSuperTypes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_EClass, eSuperTypes);
- return BOXED_eSuperTypes;
+ };
+ final @NonNull ExecutorSingleIterationManager MGR_closure_0_0 = new ExecutorSingleIterationManager(executor, UMLXTables.SET_CLSSid_EClass, BODY_closure_0_0, oclAsSet_0, ACC_closure_0_0);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue closure_0 = ClassUtil.nonNullState((SetValue)IMPL_closure_0_0.evaluateIteration(MGR_closure_0_0));
+ if (CAUGHT_sourceEClass instanceof InvalidValueException) {
+ throw (InvalidValueException)CAUGHT_sourceEClass;
}
- };
- final @NonNull ExecutorSingleIterationManager MGR_closure_0 = new ExecutorSingleIterationManager(executor, UMLXTables.SET_CLSSid_EClass, BODY_closure_0, oclAsSet, ACC_closure_0);
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SetValue closure = ClassUtil.nonNullState((SetValue)IMPL_closure_0.evaluateIteration(MGR_closure_0));
- final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EStructuralFeature referredEStructuralFeature_1 = this.getReferredEStructuralFeature();
- if (referredEStructuralFeature_1 == null) {
- throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/emf/2002/Ecore\'::ETypedElement::eType\'");
+ final /*@Thrown*/ boolean includes_0 = CollectionIncludesOperation.INSTANCE.evaluate(closure_0, CAUGHT_sourceEClass).booleanValue();
+ CAUGHT_includes_0 = includes_0;
}
- final /*@Thrown*/ org.eclipse.emf.ecore.@Nullable EClassifier eType = referredEStructuralFeature_1.getEType();
- final /*@Thrown*/ boolean includes = CollectionIncludesOperation.INSTANCE.evaluate(closure, eType).booleanValue();
- CAUGHT_includes = includes;
+ catch (Exception e) {
+ CAUGHT_includes_0 = ValueUtil.createInvalidValue(e);
+ }
+ final /*@Thrown*/ java.lang.@Nullable Boolean or = BooleanOrOperation.INSTANCE.evaluate(CAUGHT_includes, CAUGHT_includes_0);
+ CAUGHT_or = or;
}
catch (Exception e) {
- CAUGHT_includes = ValueUtil.createInvalidValue(e);
+ CAUGHT_or = ValueUtil.createInvalidValue(e);
}
- final /*@Thrown*/ java.lang.@Nullable Boolean result = BooleanImpliesOperation.INSTANCE.evaluate(CAUGHT_and_0, CAUGHT_includes);
+ final /*@Thrown*/ java.lang.@Nullable Boolean result = BooleanImpliesOperation.INSTANCE.evaluate(and_0, CAUGHT_or);
CAUGHT_result = result;
}
catch (Exception e) {
CAUGHT_result = ValueUtil.createInvalidValue(e);
}
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleEReferencePropertyTarget, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
- symbol_1 = logDiagnostic;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternEdge_c_c_CompatibleMemberPropertyTarget, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ symbol_2 = logDiagnostic;
}
- return Boolean.TRUE == symbol_1;
+ return Boolean.TRUE == symbol_2;
}
/**
@@ -1371,7 +1257,7 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
setReferredEStructuralFeature((EStructuralFeature)newValue);
return;
case UMLXPackage.REL_PATTERN_EDGE__SOURCE:
- setSource((RelPatternClassNode)newValue);
+ setSource((RelPatternNode)newValue);
return;
case UMLXPackage.REL_PATTERN_EDGE__SOURCE_INDEX:
setSourceIndex((Integer)newValue);
@@ -1398,7 +1284,7 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
setReferredEStructuralFeature((EStructuralFeature)null);
return;
case UMLXPackage.REL_PATTERN_EDGE__SOURCE:
- setSource((RelPatternClassNode)null);
+ setSource((RelPatternNode)null);
return;
case UMLXPackage.REL_PATTERN_EDGE__SOURCE_INDEX:
setSourceIndex(SOURCE_INDEX_EDEFAULT);
@@ -1455,8 +1341,8 @@ public class RelPatternEdgeImpl extends RelEdgeImpl implements RelPatternEdge {
return basicSetOwningRelDomainNode((RelDomainNode)otherEnd, msgs);
case UMLXPackage.REL_PATTERN_EDGE__SOURCE:
if (source != null)
- msgs = ((InternalEObject)source).eInverseRemove(this, UMLXPackage.REL_PATTERN_CLASS_NODE__OUTGOING, RelPatternClassNode.class, msgs);
- return basicSetSource((RelPatternClassNode)otherEnd, msgs);
+ msgs = ((InternalEObject)source).eInverseRemove(this, UMLXPackage.REL_PATTERN_NODE__OUTGOING, RelPatternNode.class, msgs);
+ return basicSetSource((RelPatternNode)otherEnd, msgs);
case UMLXPackage.REL_PATTERN_EDGE__TARGET:
if (target != null)
msgs = ((InternalEObject)target).eInverseRemove(this, UMLXPackage.REL_PATTERN_NODE__INCOMING, RelPatternNode.class, msgs);
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternExpressionNodeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternExpressionNodeImpl.java
deleted file mode 100644
index e93ecc20e..000000000
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternExpressionNodeImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Copyright (c) 2016 Willink Transformations and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * E.D.Willink - Initial API and implementation
- */
-package org.eclipse.qvtd.umlx.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.qvtd.umlx.RelPatternExpressionNode;
-import org.eclipse.qvtd.umlx.UMLXPackage;
-import org.eclipse.qvtd.umlx.util.UMLXVisitor;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Rel Constraint Node</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class RelPatternExpressionNodeImpl extends RelPatternNodeImpl implements RelPatternExpressionNode {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected RelPatternExpressionNodeImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return UMLXPackage.Literals.REL_PATTERN_EXPRESSION_NODE;
- }
-
- /**
- * {@inheritDoc}
- * @generated
- */
- @Override
- public <R> R accept(@NonNull UMLXVisitor<R> visitor) {
- return visitor.visitRelPatternExpressionNode(this);
- }
-
-} //RelConstraintNodeImpl
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternNodeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternNodeImpl.java
index ad53dab10..67210c74e 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternNodeImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/RelPatternNodeImpl.java
@@ -11,21 +11,45 @@
package org.eclipse.qvtd.umlx.impl;
import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ocl.pivot.ids.TypeId;
+import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
+import org.eclipse.ocl.pivot.library.collection.CollectionIncludesOperation;
+import org.eclipse.ocl.pivot.library.collection.CollectionNotEmptyOperation;
+import org.eclipse.ocl.pivot.library.logical.BooleanImpliesOperation;
+import org.eclipse.ocl.pivot.library.logical.BooleanNotOperation;
+import org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation;
+import org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation;
+import org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation;
+import org.eclipse.ocl.pivot.utilities.ValueUtil;
+import org.eclipse.ocl.pivot.values.InvalidValueException;
+import org.eclipse.ocl.pivot.values.SequenceValue;
import org.eclipse.qvtd.umlx.RelDomainNode;
import org.eclipse.qvtd.umlx.RelInvocationEdge;
import org.eclipse.qvtd.umlx.RelPatternNode;
+import org.eclipse.qvtd.umlx.TxPackageNode;
+import org.eclipse.qvtd.umlx.UMLXNamedElement;
import org.eclipse.qvtd.umlx.RelPatternEdge;
import org.eclipse.qvtd.umlx.UMLXPackage;
+import org.eclipse.qvtd.umlx.UMLXTables;
+import org.eclipse.qvtd.umlx.UMLXTypedElement;
+import org.eclipse.qvtd.umlx.util.UMLXVisitor;
/**
* <!-- begin-user-doc -->
@@ -35,16 +59,142 @@ import org.eclipse.qvtd.umlx.UMLXPackage;
* The following features are implemented:
* </p>
* <ul>
+ * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#isIsMany <em>Is Many</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#isIsNullFree <em>Is Null Free</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#isIsOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#isIsRequired <em>Is Required</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#isIsUnique <em>Is Unique</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#getReferredEClassifier <em>Referred EClassifier</em>}</li>
* <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#getIncoming <em>Incoming</em>}</li>
* <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#getInitExpressionLines <em>Init Expression Lines</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#getInvokingRelInvocationEdges <em>Invoking Rel Invocation Edges</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#isIsAnon <em>Is Anon</em>}</li>
* <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#isIsRoot <em>Is Root</em>}</li>
+ * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#getOutgoing <em>Outgoing</em>}</li>
* <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#getOwningRelDomainNode <em>Owning Rel Domain Node</em>}</li>
- * <li>{@link org.eclipse.qvtd.umlx.impl.RelPatternNodeImpl#getInvokingRelInvocationEdges <em>Invoking Rel Invocation Edges</em>}</li>
* </ul>
*
* @generated
*/
-public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatternNode {
+public class RelPatternNodeImpl extends RelNodeImpl implements RelPatternNode {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+ /**
+ * The default value of the '{@link #isIsMany() <em>Is Many</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsMany()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_MANY_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isIsMany() <em>Is Many</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsMany()
+ * @generated
+ * @ordered
+ */
+ protected boolean isMany = IS_MANY_EDEFAULT;
+ /**
+ * The default value of the '{@link #isIsNullFree() <em>Is Null Free</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsNullFree()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_NULL_FREE_EDEFAULT = true;
+ /**
+ * The cached value of the '{@link #isIsNullFree() <em>Is Null Free</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsNullFree()
+ * @generated
+ * @ordered
+ */
+ protected boolean isNullFree = IS_NULL_FREE_EDEFAULT;
+ /**
+ * The default value of the '{@link #isIsOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ORDERED_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isIsOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsOrdered()
+ * @generated
+ * @ordered
+ */
+ protected boolean isOrdered = IS_ORDERED_EDEFAULT;
+ /**
+ * The default value of the '{@link #isIsRequired() <em>Is Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsRequired()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REQUIRED_EDEFAULT = true;
+ /**
+ * The cached value of the '{@link #isIsRequired() <em>Is Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsRequired()
+ * @generated
+ * @ordered
+ */
+ protected boolean isRequired = IS_REQUIRED_EDEFAULT;
+ /**
+ * The default value of the '{@link #isIsUnique() <em>Is Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_UNIQUE_EDEFAULT = true;
+ /**
+ * The cached value of the '{@link #isIsUnique() <em>Is Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsUnique()
+ * @generated
+ * @ordered
+ */
+ protected boolean isUnique = IS_UNIQUE_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getReferredEClassifier() <em>Referred EClassifier</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferredEClassifier()
+ * @generated
+ * @ordered
+ */
+ protected EClassifier referredEClassifier;
/**
* The cached value of the '{@link #getIncoming() <em>Incoming</em>}' reference list.
* <!-- begin-user-doc -->
@@ -64,6 +214,33 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
*/
protected EList<String> initExpressionLines;
/**
+ * The cached value of the '{@link #getInvokingRelInvocationEdges() <em>Invoking Rel Invocation Edges</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInvokingRelInvocationEdges()
+ * @generated
+ * @ordered
+ */
+ protected EList<RelInvocationEdge> invokingRelInvocationEdges;
+ /**
+ * The default value of the '{@link #isIsAnon() <em>Is Anon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsAnon()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ANON_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isIsAnon() <em>Is Anon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsAnon()
+ * @generated
+ * @ordered
+ */
+ protected boolean isAnon = IS_ANON_EDEFAULT;
+ /**
* The default value of the '{@link #isIsRoot() <em>Is Root</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -82,14 +259,14 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
*/
protected boolean isRoot = IS_ROOT_EDEFAULT;
/**
- * The cached value of the '{@link #getInvokingRelInvocationEdges() <em>Invoking Rel Invocation Edges</em>}' reference list.
+ * The cached value of the '{@link #getOutgoing() <em>Outgoing</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getInvokingRelInvocationEdges()
+ * @see #getOutgoing()
* @generated
* @ordered
*/
- protected EList<RelInvocationEdge> invokingRelInvocationEdges;
+ protected EList<RelPatternEdge> outgoing;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -115,6 +292,184 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
* @generated
*/
@Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_NODE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isIsMany() {
+ return isMany;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setIsMany(boolean newIsMany) {
+ boolean oldIsMany = isMany;
+ isMany = newIsMany;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_NODE__IS_MANY, oldIsMany, isMany));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isIsNullFree() {
+ return isNullFree;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setIsNullFree(boolean newIsNullFree) {
+ boolean oldIsNullFree = isNullFree;
+ isNullFree = newIsNullFree;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_NODE__IS_NULL_FREE, oldIsNullFree, isNullFree));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isIsOrdered() {
+ return isOrdered;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setIsOrdered(boolean newIsOrdered) {
+ boolean oldIsOrdered = isOrdered;
+ isOrdered = newIsOrdered;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_NODE__IS_ORDERED, oldIsOrdered, isOrdered));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isIsRequired() {
+ return isRequired;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setIsRequired(boolean newIsRequired) {
+ boolean oldIsRequired = isRequired;
+ isRequired = newIsRequired;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_NODE__IS_REQUIRED, oldIsRequired, isRequired));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isIsUnique() {
+ return isUnique;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setIsUnique(boolean newIsUnique) {
+ boolean oldIsUnique = isUnique;
+ isUnique = newIsUnique;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_NODE__IS_UNIQUE, oldIsUnique, isUnique));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClassifier getReferredEClassifier() {
+ if (referredEClassifier != null && referredEClassifier.eIsProxy()) {
+ InternalEObject oldReferredEClassifier = (InternalEObject)referredEClassifier;
+ referredEClassifier = (EClassifier)eResolveProxy(oldReferredEClassifier);
+ if (referredEClassifier != oldReferredEClassifier) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLXPackage.REL_PATTERN_NODE__REFERRED_ECLASSIFIER, oldReferredEClassifier, referredEClassifier));
+ }
+ }
+ return referredEClassifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClassifier basicGetReferredEClassifier() {
+ return referredEClassifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setReferredEClassifier(EClassifier newReferredEClassifier) {
+ EClassifier oldReferredEClassifier = referredEClassifier;
+ referredEClassifier = newReferredEClassifier;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_NODE__REFERRED_ECLASSIFIER, oldReferredEClassifier, referredEClassifier));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public EList<RelPatternEdge> getIncoming() {
if (incoming == null) {
incoming = new EObjectWithInverseResolvingEList<RelPatternEdge>(RelPatternEdge.class, this, UMLXPackage.REL_PATTERN_NODE__INCOMING, UMLXPackage.REL_PATTERN_EDGE__TARGET);
@@ -164,6 +519,19 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
* @generated
*/
@Override
+ public EList<RelPatternEdge> getOutgoing() {
+ if (outgoing == null) {
+ outgoing = new EObjectWithInverseResolvingEList<RelPatternEdge>(RelPatternEdge.class, this, UMLXPackage.REL_PATTERN_NODE__OUTGOING, UMLXPackage.REL_PATTERN_EDGE__SOURCE);
+ }
+ return outgoing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public RelDomainNode getOwningRelDomainNode() {
if (eContainerFeatureID() != UMLXPackage.REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE) return null;
return (RelDomainNode)eInternalContainer();
@@ -207,6 +575,244 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
* @generated
*/
@Override
+ public Boolean isExpression() {
+ /**
+ * name = null and initExpressionLines->notEmpty()
+ */
+ 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*/ java.lang.@Nullable String name = this.getName();
+ final /*@NonInvalid*/ boolean eq = name == null;
+ /*@NonInvalid*/ boolean and;
+ if (eq) {
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ java.util.@NonNull List<String> initExpressionLines = this.getInitExpressionLines();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_initExpressionLines = idResolver.createOrderedSetOfAll(UMLXTables.ORD_PRIMid_String, initExpressionLines);
+ final /*@NonInvalid*/ boolean notEmpty = CollectionNotEmptyOperation.INSTANCE.evaluate(BOXED_initExpressionLines).booleanValue();
+ and = notEmpty;
+ }
+ else {
+ and = ValueUtil.FALSE_VALUE;
+ }
+ return and;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean validateAnonIsUnnamed(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv AnonIsUnnamed:
+ * let severity : Integer[1] = 'RelPatternNode::AnonIsUnnamed'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let result : Boolean[?] = not isExpression() implies isAnon = name = ''
+ * in
+ * 'RelPatternNode::AnonIsUnnamed'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternNode_c_c_AnonIsUnnamed);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ /*@Caught*/ @Nullable Object CAUGHT_result;
+ try {
+ final /*@NonInvalid*/ boolean isExpression = this.isExpression();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isExpression);
+ final /*@NonInvalid*/ boolean isAnon = this.isIsAnon();
+ final /*@NonInvalid*/ java.lang.@Nullable String name = this.getName();
+ final /*@NonInvalid*/ boolean eq = UMLXTables.STR_.equals(name);
+ final /*@NonInvalid*/ boolean eq_0 = isAnon == eq;
+ final /*@Thrown*/ java.lang.@Nullable Boolean result = BooleanImpliesOperation.INSTANCE.evaluate(not, eq_0);
+ CAUGHT_result = result;
+ }
+ catch (Exception e) {
+ CAUGHT_result = ValueUtil.createInvalidValue(e);
+ }
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternNode_c_c_AnonIsUnnamed, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean validateTypeIsRequired(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv TypeIsRequired:
+ * let severity : Integer[1] = 'RelPatternNode::TypeIsRequired'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let
+ * result : Boolean[?] = not isExpression() implies referredEClassifier <> null
+ * in
+ * 'RelPatternNode::TypeIsRequired'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternNode_c_c_TypeIsRequired);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ /*@Caught*/ @Nullable Object CAUGHT_result;
+ try {
+ final /*@NonInvalid*/ boolean isExpression = this.isExpression();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isExpression);
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier = this.getReferredEClassifier();
+ final /*@NonInvalid*/ boolean ne = referredEClassifier != null;
+ final /*@Thrown*/ java.lang.@Nullable Boolean result = BooleanImpliesOperation.INSTANCE.evaluate(not, ne);
+ CAUGHT_result = result;
+ }
+ catch (Exception e) {
+ CAUGHT_result = ValueUtil.createInvalidValue(e);
+ }
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternNode_c_c_TypeIsRequired, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean validateEClassifierIsInTypedModel(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv EClassifierIsInTypedModel:
+ * let
+ * severity : Integer[1] = 'RelPatternNode::EClassifierIsInTypedModel'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let
+ * result : Boolean[?] = not isExpression() implies
+ * let txTypedModelNode : TxTypedModelNode[?] = owningRelDomainNode.referredTxTypedModelNode
+ * in txTypedModelNode <> null implies
+ * txTypedModelNode.ownedTxPackageNodes.referredEPackage.eClassifiers->includes(referredEClassifier)
+ * in
+ * 'RelPatternNode::EClassifierIsInTypedModel'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ 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 IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_RelPatternNode_c_c_EClassifierIsInTypedModel);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ /*@Caught*/ @Nullable Object CAUGHT_result;
+ try {
+ final /*@NonInvalid*/ boolean isExpression = this.isExpression();
+ final /*@NonInvalid*/ java.lang.@Nullable Boolean not = BooleanNotOperation.INSTANCE.evaluate(isExpression);
+ /*@Caught*/ @NonNull Object CAUGHT_implies;
+ try {
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelDomainNode owningRelDomainNode = this.getOwningRelDomainNode();
+ final /*@NonInvalid*/ org.eclipse.qvtd.umlx.@Nullable TxTypedModelNode txTypedModelNode = owningRelDomainNode.getReferredTxTypedModelNode();
+ final /*@NonInvalid*/ boolean ne = txTypedModelNode != null;
+ /*@Thrown*/ boolean implies;
+ if (ne) {
+ if (txTypedModelNode == null) {
+ throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/2016/UMLX\'::TxTypedModelNode::ownedTxPackageNodes\'");
+ }
+ @SuppressWarnings("null")
+ final /*@Thrown*/ java.util.@NonNull List<TxPackageNode> ownedTxPackageNodes = txTypedModelNode.getOwnedTxPackageNodes();
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_ownedTxPackageNodes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_TxPackageNode, ownedTxPackageNodes);
+ /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_CLSSid_EPackage);
+ @NonNull Iterator<Object> ITERATOR__1 = BOXED_ownedTxPackageNodes.iterator();
+ /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue collect_0;
+ while (true) {
+ if (!ITERATOR__1.hasNext()) {
+ collect_0 = accumulator;
+ break;
+ }
+ @SuppressWarnings("null")
+ /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull TxPackageNode _1 = (TxPackageNode)ITERATOR__1.next();
+ /**
+ * referredEPackage
+ */
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@NonNull EPackage referredEPackage = _1.getReferredEPackage();
+ //
+ accumulator.add(referredEPackage);
+ }
+ /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_0 = ValueUtil.createSequenceAccumulatorValue(UMLXTables.SEQ_CLSSid_EClassifier);
+ @NonNull Iterator<Object> ITERATOR__1_0 = collect_0.iterator();
+ /*@Thrown*/ org.eclipse.ocl.pivot.values.@NonNull SequenceValue collect;
+ while (true) {
+ if (!ITERATOR__1_0.hasNext()) {
+ collect = accumulator_0;
+ break;
+ }
+ @SuppressWarnings("null")
+ /*@NonInvalid*/ org.eclipse.emf.ecore.@NonNull EPackage _1_0 = (EPackage)ITERATOR__1_0.next();
+ /**
+ * eClassifiers
+ */
+ @SuppressWarnings("null")
+ final /*@NonInvalid*/ java.util.@NonNull List<EClassifier> eClassifiers = _1_0.getEClassifiers();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_eClassifiers = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_EClassifier, eClassifiers);
+ //
+ for (Object value : BOXED_eClassifiers.flatten().getElements()) {
+ accumulator_0.add(value);
+ }
+ }
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier = this.getReferredEClassifier();
+ final /*@Thrown*/ boolean includes = CollectionIncludesOperation.INSTANCE.evaluate(collect, referredEClassifier).booleanValue();
+ implies = includes;
+ }
+ else {
+ implies = ValueUtil.TRUE_VALUE;
+ }
+ CAUGHT_implies = implies;
+ }
+ catch (Exception e) {
+ CAUGHT_implies = ValueUtil.createInvalidValue(e);
+ }
+ final /*@Thrown*/ java.lang.@Nullable Boolean result = BooleanImpliesOperation.INSTANCE.evaluate(not, CAUGHT_implies);
+ CAUGHT_result = result;
+ }
+ catch (Exception e) {
+ CAUGHT_result = ValueUtil.createInvalidValue(e);
+ }
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_RelPatternNode_c_c_EClassifierIsInTypedModel, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public EList<RelInvocationEdge> getInvokingRelInvocationEdges() {
if (invokingRelInvocationEdges == null) {
invokingRelInvocationEdges = new EObjectWithInverseResolvingEList<RelInvocationEdge>(RelInvocationEdge.class, this, UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES, UMLXPackage.REL_INVOCATION_EDGE__INVOKING_REL_PATTERN_NODE);
@@ -220,6 +826,29 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
* @generated
*/
@Override
+ public boolean isIsAnon() {
+ return isAnon;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setIsAnon(boolean newIsAnon) {
+ boolean oldIsAnon = isAnon;
+ isAnon = newIsAnon;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLXPackage.REL_PATTERN_NODE__IS_ANON, oldIsAnon, isAnon));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public String toString() {
return super.toString();
}
@@ -235,12 +864,14 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
switch (featureID) {
case UMLXPackage.REL_PATTERN_NODE__INCOMING:
return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncoming()).basicAdd(otherEnd, msgs);
+ case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getInvokingRelInvocationEdges()).basicAdd(otherEnd, msgs);
+ case UMLXPackage.REL_PATTERN_NODE__OUTGOING:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoing()).basicAdd(otherEnd, msgs);
case UMLXPackage.REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE:
if (eInternalContainer() != null)
msgs = eBasicRemoveFromContainer(msgs);
return basicSetOwningRelDomainNode((RelDomainNode)otherEnd, msgs);
- case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
- return ((InternalEList<InternalEObject>)(InternalEList<?>)getInvokingRelInvocationEdges()).basicAdd(otherEnd, msgs);
}
return super.eInverseAdd(otherEnd, featureID, msgs);
}
@@ -255,10 +886,12 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
switch (featureID) {
case UMLXPackage.REL_PATTERN_NODE__INCOMING:
return ((InternalEList<?>)getIncoming()).basicRemove(otherEnd, msgs);
- case UMLXPackage.REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE:
- return basicSetOwningRelDomainNode(null, msgs);
case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
return ((InternalEList<?>)getInvokingRelInvocationEdges()).basicRemove(otherEnd, msgs);
+ case UMLXPackage.REL_PATTERN_NODE__OUTGOING:
+ return ((InternalEList<?>)getOutgoing()).basicRemove(otherEnd, msgs);
+ case UMLXPackage.REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE:
+ return basicSetOwningRelDomainNode(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@@ -285,16 +918,35 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case UMLXPackage.REL_PATTERN_NODE__NAME:
+ return getName();
+ case UMLXPackage.REL_PATTERN_NODE__IS_MANY:
+ return isIsMany();
+ case UMLXPackage.REL_PATTERN_NODE__IS_NULL_FREE:
+ return isIsNullFree();
+ case UMLXPackage.REL_PATTERN_NODE__IS_ORDERED:
+ return isIsOrdered();
+ case UMLXPackage.REL_PATTERN_NODE__IS_REQUIRED:
+ return isIsRequired();
+ case UMLXPackage.REL_PATTERN_NODE__IS_UNIQUE:
+ return isIsUnique();
+ case UMLXPackage.REL_PATTERN_NODE__REFERRED_ECLASSIFIER:
+ if (resolve) return getReferredEClassifier();
+ return basicGetReferredEClassifier();
case UMLXPackage.REL_PATTERN_NODE__INCOMING:
return getIncoming();
case UMLXPackage.REL_PATTERN_NODE__INIT_EXPRESSION_LINES:
return getInitExpressionLines();
+ case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
+ return getInvokingRelInvocationEdges();
+ case UMLXPackage.REL_PATTERN_NODE__IS_ANON:
+ return isIsAnon();
case UMLXPackage.REL_PATTERN_NODE__IS_ROOT:
return isIsRoot();
+ case UMLXPackage.REL_PATTERN_NODE__OUTGOING:
+ return getOutgoing();
case UMLXPackage.REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE:
return getOwningRelDomainNode();
- case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
- return getInvokingRelInvocationEdges();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -308,6 +960,27 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case UMLXPackage.REL_PATTERN_NODE__NAME:
+ setName((String)newValue);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_MANY:
+ setIsMany((Boolean)newValue);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_NULL_FREE:
+ setIsNullFree((Boolean)newValue);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_ORDERED:
+ setIsOrdered((Boolean)newValue);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_REQUIRED:
+ setIsRequired((Boolean)newValue);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_UNIQUE:
+ setIsUnique((Boolean)newValue);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__REFERRED_ECLASSIFIER:
+ setReferredEClassifier((EClassifier)newValue);
+ return;
case UMLXPackage.REL_PATTERN_NODE__INCOMING:
getIncoming().clear();
getIncoming().addAll((Collection<? extends RelPatternEdge>)newValue);
@@ -316,16 +989,23 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
getInitExpressionLines().clear();
getInitExpressionLines().addAll((Collection<? extends String>)newValue);
return;
+ case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
+ getInvokingRelInvocationEdges().clear();
+ getInvokingRelInvocationEdges().addAll((Collection<? extends RelInvocationEdge>)newValue);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_ANON:
+ setIsAnon((Boolean)newValue);
+ return;
case UMLXPackage.REL_PATTERN_NODE__IS_ROOT:
setIsRoot((Boolean)newValue);
return;
+ case UMLXPackage.REL_PATTERN_NODE__OUTGOING:
+ getOutgoing().clear();
+ getOutgoing().addAll((Collection<? extends RelPatternEdge>)newValue);
+ return;
case UMLXPackage.REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE:
setOwningRelDomainNode((RelDomainNode)newValue);
return;
- case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
- getInvokingRelInvocationEdges().clear();
- getInvokingRelInvocationEdges().addAll((Collection<? extends RelInvocationEdge>)newValue);
- return;
}
super.eSet(featureID, newValue);
}
@@ -338,21 +1018,48 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
@Override
public void eUnset(int featureID) {
switch (featureID) {
+ case UMLXPackage.REL_PATTERN_NODE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_MANY:
+ setIsMany(IS_MANY_EDEFAULT);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_NULL_FREE:
+ setIsNullFree(IS_NULL_FREE_EDEFAULT);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_ORDERED:
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_REQUIRED:
+ setIsRequired(IS_REQUIRED_EDEFAULT);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_UNIQUE:
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__REFERRED_ECLASSIFIER:
+ setReferredEClassifier((EClassifier)null);
+ return;
case UMLXPackage.REL_PATTERN_NODE__INCOMING:
getIncoming().clear();
return;
case UMLXPackage.REL_PATTERN_NODE__INIT_EXPRESSION_LINES:
getInitExpressionLines().clear();
return;
+ case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
+ getInvokingRelInvocationEdges().clear();
+ return;
+ case UMLXPackage.REL_PATTERN_NODE__IS_ANON:
+ setIsAnon(IS_ANON_EDEFAULT);
+ return;
case UMLXPackage.REL_PATTERN_NODE__IS_ROOT:
setIsRoot(IS_ROOT_EDEFAULT);
return;
+ case UMLXPackage.REL_PATTERN_NODE__OUTGOING:
+ getOutgoing().clear();
+ return;
case UMLXPackage.REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE:
setOwningRelDomainNode((RelDomainNode)null);
return;
- case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
- getInvokingRelInvocationEdges().clear();
- return;
}
super.eUnset(featureID);
}
@@ -365,18 +1072,99 @@ public abstract class RelPatternNodeImpl extends RelNodeImpl implements RelPatte
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case UMLXPackage.REL_PATTERN_NODE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case UMLXPackage.REL_PATTERN_NODE__IS_MANY:
+ return isMany != IS_MANY_EDEFAULT;
+ case UMLXPackage.REL_PATTERN_NODE__IS_NULL_FREE:
+ return isNullFree != IS_NULL_FREE_EDEFAULT;
+ case UMLXPackage.REL_PATTERN_NODE__IS_ORDERED:
+ return isOrdered != IS_ORDERED_EDEFAULT;
+ case UMLXPackage.REL_PATTERN_NODE__IS_REQUIRED:
+ return isRequired != IS_REQUIRED_EDEFAULT;
+ case UMLXPackage.REL_PATTERN_NODE__IS_UNIQUE:
+ return isUnique != IS_UNIQUE_EDEFAULT;
+ case UMLXPackage.REL_PATTERN_NODE__REFERRED_ECLASSIFIER:
+ return referredEClassifier != null;
case UMLXPackage.REL_PATTERN_NODE__INCOMING:
return incoming != null && !incoming.isEmpty();
case UMLXPackage.REL_PATTERN_NODE__INIT_EXPRESSION_LINES:
return initExpressionLines != null && !initExpressionLines.isEmpty();
+ case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
+ return invokingRelInvocationEdges != null && !invokingRelInvocationEdges.isEmpty();
+ case UMLXPackage.REL_PATTERN_NODE__IS_ANON:
+ return isAnon != IS_ANON_EDEFAULT;
case UMLXPackage.REL_PATTERN_NODE__IS_ROOT:
return isRoot != IS_ROOT_EDEFAULT;
+ case UMLXPackage.REL_PATTERN_NODE__OUTGOING:
+ return outgoing != null && !outgoing.isEmpty();
case UMLXPackage.REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE:
return getOwningRelDomainNode() != null;
- case UMLXPackage.REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES:
- return invokingRelInvocationEdges != null && !invokingRelInvocationEdges.isEmpty();
}
return super.eIsSet(featureID);
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == UMLXNamedElement.class) {
+ switch (derivedFeatureID) {
+ case UMLXPackage.REL_PATTERN_NODE__NAME: return UMLXPackage.UMLX_NAMED_ELEMENT__NAME;
+ default: return -1;
+ }
+ }
+ if (baseClass == UMLXTypedElement.class) {
+ switch (derivedFeatureID) {
+ case UMLXPackage.REL_PATTERN_NODE__IS_MANY: return UMLXPackage.UMLX_TYPED_ELEMENT__IS_MANY;
+ case UMLXPackage.REL_PATTERN_NODE__IS_NULL_FREE: return UMLXPackage.UMLX_TYPED_ELEMENT__IS_NULL_FREE;
+ case UMLXPackage.REL_PATTERN_NODE__IS_ORDERED: return UMLXPackage.UMLX_TYPED_ELEMENT__IS_ORDERED;
+ case UMLXPackage.REL_PATTERN_NODE__IS_REQUIRED: return UMLXPackage.UMLX_TYPED_ELEMENT__IS_REQUIRED;
+ case UMLXPackage.REL_PATTERN_NODE__IS_UNIQUE: return UMLXPackage.UMLX_TYPED_ELEMENT__IS_UNIQUE;
+ case UMLXPackage.REL_PATTERN_NODE__REFERRED_ECLASSIFIER: return UMLXPackage.UMLX_TYPED_ELEMENT__REFERRED_ECLASSIFIER;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == UMLXNamedElement.class) {
+ switch (baseFeatureID) {
+ case UMLXPackage.UMLX_NAMED_ELEMENT__NAME: return UMLXPackage.REL_PATTERN_NODE__NAME;
+ default: return -1;
+ }
+ }
+ if (baseClass == UMLXTypedElement.class) {
+ switch (baseFeatureID) {
+ case UMLXPackage.UMLX_TYPED_ELEMENT__IS_MANY: return UMLXPackage.REL_PATTERN_NODE__IS_MANY;
+ case UMLXPackage.UMLX_TYPED_ELEMENT__IS_NULL_FREE: return UMLXPackage.REL_PATTERN_NODE__IS_NULL_FREE;
+ case UMLXPackage.UMLX_TYPED_ELEMENT__IS_ORDERED: return UMLXPackage.REL_PATTERN_NODE__IS_ORDERED;
+ case UMLXPackage.UMLX_TYPED_ELEMENT__IS_REQUIRED: return UMLXPackage.REL_PATTERN_NODE__IS_REQUIRED;
+ case UMLXPackage.UMLX_TYPED_ELEMENT__IS_UNIQUE: return UMLXPackage.REL_PATTERN_NODE__IS_UNIQUE;
+ case UMLXPackage.UMLX_TYPED_ELEMENT__REFERRED_ECLASSIFIER: return UMLXPackage.REL_PATTERN_NODE__REFERRED_ECLASSIFIER;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @generated
+ */
+ @Override
+ public <R> R accept(@NonNull UMLXVisitor<R> visitor) {
+ return visitor.visitRelPatternNode(this);
+ }
+
} //RelNodeImpl
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxDiagramImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxDiagramImpl.java
index 348baec90..00131cdb4 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxDiagramImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxDiagramImpl.java
@@ -24,6 +24,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.ids.TypeId;
import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
import org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation;
@@ -241,24 +242,24 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
* @generated
*/
@Override
- public boolean validateRelDiagramNamesAreUnique(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ public boolean validateTxQueryNodeNamesAreUnique(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
- * inv RelDiagramNamesAreUnique:
+ * inv TxQueryNodeNamesAreUnique:
* let
- * severity : Integer[1] = 'TxDiagram::RelDiagramNamesAreUnique'.getSeverity()
+ * severity : Integer[1] = 'TxDiagram::TxQueryNodeNamesAreUnique'.getSeverity()
* in
* if severity <= 0
* then true
* else
- * let result : Boolean[1] = ownedRelDiagrams->isUnique(name)
+ * let result : Boolean[1] = ownedTxQueryNodes->isUnique(name)
* in
- * 'TxDiagram::RelDiagramNamesAreUnique'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * 'TxDiagram::TxQueryNodeNamesAreUnique'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
* endif
*/
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 IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxDiagram_c_c_RelDiagramNamesAreUnique);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxDiagram_c_c_TxQueryNodeNamesAreUnique);
final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
/*@NonInvalid*/ boolean symbol_0;
if (le) {
@@ -268,10 +269,10 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
/*@Caught*/ @NonNull Object CAUGHT_result;
try {
@SuppressWarnings("null")
- final /*@NonInvalid*/ java.util.@NonNull List<RelDiagram> ownedRelDiagrams = this.getOwnedRelDiagrams();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_ownedRelDiagrams = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_RelDiagram, ownedRelDiagrams);
- /*@Thrown*/ SetValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSetAccumulatorValue(UMLXTables.ORD_CLSSid_RelDiagram);
- @NonNull Iterator<Object> ITERATOR__1 = BOXED_ownedRelDiagrams.iterator();
+ final /*@NonInvalid*/ java.util.@NonNull List<TxQueryNode> ownedTxQueryNodes = this.getOwnedTxQueryNodes();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_ownedTxQueryNodes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_TxQueryNode, ownedTxQueryNodes);
+ /*@Thrown*/ SetValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSetAccumulatorValue(UMLXTables.ORD_CLSSid_TxQueryNode);
+ @NonNull Iterator<Object> ITERATOR__1 = BOXED_ownedTxQueryNodes.iterator();
/*@Thrown*/ boolean result;
while (true) {
if (!ITERATOR__1.hasNext()) {
@@ -279,12 +280,11 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
break;
}
@SuppressWarnings("null")
- /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelDiagram _1 = (RelDiagram)ITERATOR__1.next();
+ /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull TxQueryNode _1 = (TxQueryNode)ITERATOR__1.next();
/**
* name
*/
- @SuppressWarnings("null")
- final /*@NonInvalid*/ java.lang.@NonNull String name = _1.getName();
+ final /*@NonInvalid*/ java.lang.@Nullable String name = _1.getName();
//
if (accumulator.includes(name) == ValueUtil.TRUE_VALUE) {
result = ValueUtil.FALSE_VALUE; // Abort after second find
@@ -299,7 +299,7 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
catch (Exception e) {
CAUGHT_result = ValueUtil.createInvalidValue(e);
}
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxDiagram_c_c_RelDiagramNamesAreUnique, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxDiagram_c_c_TxQueryNodeNamesAreUnique, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
symbol_0 = logDiagnostic;
}
return Boolean.TRUE == symbol_0;
@@ -311,24 +311,24 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
* @generated
*/
@Override
- public boolean validateTxTypedModelNodeNamesAreUnique(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ public boolean validateRelDiagramNamesAreUnique(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
- * inv TxTypedModelNodeNamesAreUnique:
+ * inv RelDiagramNamesAreUnique:
* let
- * severity : Integer[1] = 'TxDiagram::TxTypedModelNodeNamesAreUnique'.getSeverity()
+ * severity : Integer[1] = 'TxDiagram::RelDiagramNamesAreUnique'.getSeverity()
* in
* if severity <= 0
* then true
* else
- * let result : Boolean[1] = ownedTxTypedModelNodes->isUnique(name)
+ * let result : Boolean[1] = ownedRelDiagrams->isUnique(name)
* in
- * 'TxDiagram::TxTypedModelNodeNamesAreUnique'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * 'TxDiagram::RelDiagramNamesAreUnique'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
* endif
*/
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 IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxDiagram_c_c_TxTypedModelNodeNamesAreUnique);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxDiagram_c_c_RelDiagramNamesAreUnique);
final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
/*@NonInvalid*/ boolean symbol_0;
if (le) {
@@ -338,10 +338,10 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
/*@Caught*/ @NonNull Object CAUGHT_result;
try {
@SuppressWarnings("null")
- final /*@NonInvalid*/ java.util.@NonNull List<TxTypedModelNode> ownedTxTypedModelNodes = this.getOwnedTxTypedModelNodes();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_ownedTxTypedModelNodes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_TxTypedModelNode, ownedTxTypedModelNodes);
- /*@Thrown*/ SetValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSetAccumulatorValue(UMLXTables.ORD_CLSSid_TxTypedModelNode);
- @NonNull Iterator<Object> ITERATOR__1 = BOXED_ownedTxTypedModelNodes.iterator();
+ final /*@NonInvalid*/ java.util.@NonNull List<RelDiagram> ownedRelDiagrams = this.getOwnedRelDiagrams();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_ownedRelDiagrams = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_RelDiagram, ownedRelDiagrams);
+ /*@Thrown*/ SetValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSetAccumulatorValue(UMLXTables.ORD_CLSSid_RelDiagram);
+ @NonNull Iterator<Object> ITERATOR__1 = BOXED_ownedRelDiagrams.iterator();
/*@Thrown*/ boolean result;
while (true) {
if (!ITERATOR__1.hasNext()) {
@@ -349,12 +349,11 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
break;
}
@SuppressWarnings("null")
- /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull TxTypedModelNode _1 = (TxTypedModelNode)ITERATOR__1.next();
+ /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull RelDiagram _1 = (RelDiagram)ITERATOR__1.next();
/**
* name
*/
- @SuppressWarnings("null")
- final /*@NonInvalid*/ java.lang.@NonNull String name = _1.getName();
+ final /*@NonInvalid*/ java.lang.@Nullable String name = _1.getName();
//
if (accumulator.includes(name) == ValueUtil.TRUE_VALUE) {
result = ValueUtil.FALSE_VALUE; // Abort after second find
@@ -369,7 +368,7 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
catch (Exception e) {
CAUGHT_result = ValueUtil.createInvalidValue(e);
}
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxDiagram_c_c_TxTypedModelNodeNamesAreUnique, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxDiagram_c_c_RelDiagramNamesAreUnique, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
symbol_0 = logDiagnostic;
}
return Boolean.TRUE == symbol_0;
@@ -381,24 +380,60 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
* @generated
*/
@Override
- public boolean validateTxQueryNodeNamesAreUnique(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ public boolean validateNameIsRequired(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
- * inv TxQueryNodeNamesAreUnique:
+ * inv NameIsRequired:
+ * let severity : Integer[1] = 'TxDiagram::NameIsRequired'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let result : Boolean[1] = name <> null
+ * in
+ * 'TxDiagram::NameIsRequired'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxDiagram_c_c_NameIsRequired);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ final /*@NonInvalid*/ java.lang.@Nullable String name = this.getName();
+ final /*@NonInvalid*/ boolean result = name != null;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxDiagram_c_c_NameIsRequired, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean validateTxTypedModelNodeNamesAreUnique(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv TxTypedModelNodeNamesAreUnique:
* let
- * severity : Integer[1] = 'TxDiagram::TxQueryNodeNamesAreUnique'.getSeverity()
+ * severity : Integer[1] = 'TxDiagram::TxTypedModelNodeNamesAreUnique'.getSeverity()
* in
* if severity <= 0
* then true
* else
- * let result : Boolean[1] = ownedTxQueryNodes->isUnique(name)
+ * let result : Boolean[1] = ownedTxTypedModelNodes->isUnique(name)
* in
- * 'TxDiagram::TxQueryNodeNamesAreUnique'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * 'TxDiagram::TxTypedModelNodeNamesAreUnique'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
* endif
*/
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 IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxDiagram_c_c_TxQueryNodeNamesAreUnique);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxDiagram_c_c_TxTypedModelNodeNamesAreUnique);
final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
/*@NonInvalid*/ boolean symbol_0;
if (le) {
@@ -408,10 +443,10 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
/*@Caught*/ @NonNull Object CAUGHT_result;
try {
@SuppressWarnings("null")
- final /*@NonInvalid*/ java.util.@NonNull List<TxQueryNode> ownedTxQueryNodes = this.getOwnedTxQueryNodes();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_ownedTxQueryNodes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_TxQueryNode, ownedTxQueryNodes);
- /*@Thrown*/ SetValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSetAccumulatorValue(UMLXTables.ORD_CLSSid_TxQueryNode);
- @NonNull Iterator<Object> ITERATOR__1 = BOXED_ownedTxQueryNodes.iterator();
+ final /*@NonInvalid*/ java.util.@NonNull List<TxTypedModelNode> ownedTxTypedModelNodes = this.getOwnedTxTypedModelNodes();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull OrderedSetValue BOXED_ownedTxTypedModelNodes = idResolver.createOrderedSetOfAll(UMLXTables.ORD_CLSSid_TxTypedModelNode, ownedTxTypedModelNodes);
+ /*@Thrown*/ SetValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSetAccumulatorValue(UMLXTables.ORD_CLSSid_TxTypedModelNode);
+ @NonNull Iterator<Object> ITERATOR__1 = BOXED_ownedTxTypedModelNodes.iterator();
/*@Thrown*/ boolean result;
while (true) {
if (!ITERATOR__1.hasNext()) {
@@ -419,12 +454,11 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
break;
}
@SuppressWarnings("null")
- /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull TxQueryNode _1 = (TxQueryNode)ITERATOR__1.next();
+ /*@NonInvalid*/ org.eclipse.qvtd.umlx.@NonNull TxTypedModelNode _1 = (TxTypedModelNode)ITERATOR__1.next();
/**
* name
*/
- @SuppressWarnings("null")
- final /*@NonInvalid*/ java.lang.@NonNull String name = _1.getName();
+ final /*@NonInvalid*/ java.lang.@Nullable String name = _1.getName();
//
if (accumulator.includes(name) == ValueUtil.TRUE_VALUE) {
result = ValueUtil.FALSE_VALUE; // Abort after second find
@@ -439,7 +473,7 @@ public class TxDiagramImpl extends UMLXNamedElementImpl implements TxDiagram {
catch (Exception e) {
CAUGHT_result = ValueUtil.createInvalidValue(e);
}
- final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxDiagram_c_c_TxQueryNodeNamesAreUnique, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxDiagram_c_c_TxTypedModelNodeNamesAreUnique, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, UMLXTables.INT_0).booleanValue();
symbol_0 = logDiagnostic;
}
return Boolean.TRUE == symbol_0;
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxImportNodeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxImportNodeImpl.java
index 7f264d9e3..dd3cc7cd3 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxImportNodeImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxImportNodeImpl.java
@@ -10,9 +10,11 @@
*/
package org.eclipse.qvtd.umlx.impl;
+import java.util.Map;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
@@ -22,11 +24,19 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ocl.pivot.ids.TypeId;
+import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
+import org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation;
+import org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation;
+import org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation;
+import org.eclipse.ocl.pivot.utilities.ValueUtil;
import org.eclipse.qvtd.umlx.TxDiagram;
import org.eclipse.qvtd.umlx.TxImportNode;
import org.eclipse.qvtd.umlx.UMLXNamedElement;
import org.eclipse.qvtd.umlx.UMLXPackage;
+import org.eclipse.qvtd.umlx.UMLXTables;
import org.eclipse.qvtd.umlx.util.UMLXVisitor;
/**
@@ -199,6 +209,42 @@ public class TxImportNodeImpl extends TxNodeImpl implements TxImportNode {
* @generated
*/
@Override
+ public boolean validateNameIsRequired(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv NameIsRequired:
+ * let severity : Integer[1] = 'TxImportNode::NameIsRequired'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let result : Boolean[1] = name <> null
+ * in
+ * 'TxImportNode::NameIsRequired'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxImportNode_c_c_NameIsRequired);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ final /*@NonInvalid*/ java.lang.@Nullable String name = this.getName();
+ final /*@NonInvalid*/ boolean result = name != null;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxImportNode_c_c_NameIsRequired, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public String toString() {
return super.toString();
}
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxKeyNodeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxKeyNodeImpl.java
index dbf07159c..9c3e93169 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxKeyNodeImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxKeyNodeImpl.java
@@ -195,6 +195,7 @@ public class TxKeyNodeImpl extends TxNodeImpl implements TxKeyNode {
* <!-- end-user-doc -->
* @generated
*/
+ @Override
public boolean validatePartsAreUnique(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxParameterNodeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxParameterNodeImpl.java
index 581885c63..f5f13bf99 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxParameterNodeImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxParameterNodeImpl.java
@@ -10,9 +10,11 @@
*/
package org.eclipse.qvtd.umlx.impl;
+import java.util.Map;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.InternalEObject;
@@ -23,10 +25,18 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ocl.pivot.ids.TypeId;
+import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
+import org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation;
+import org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation;
+import org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation;
+import org.eclipse.ocl.pivot.utilities.ValueUtil;
import org.eclipse.qvtd.umlx.TxParameterNode;
import org.eclipse.qvtd.umlx.TxQueryNode;
import org.eclipse.qvtd.umlx.UMLXNamedElement;
import org.eclipse.qvtd.umlx.UMLXPackage;
+import org.eclipse.qvtd.umlx.UMLXTables;
import org.eclipse.qvtd.umlx.UMLXTypedElement;
import org.eclipse.qvtd.umlx.util.UMLXVisitor;
@@ -428,6 +438,78 @@ public class TxParameterNodeImpl extends TxNodeImpl implements TxParameterNode {
* @generated
*/
@Override
+ public boolean validateNameIsRequired(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv NameIsRequired:
+ * let severity : Integer[1] = 'TxParameterNode::NameIsRequired'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let result : Boolean[1] = name <> null
+ * in
+ * 'TxParameterNode::NameIsRequired'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxParameterNode_c_c_NameIsRequired);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ final /*@NonInvalid*/ java.lang.@Nullable String name = this.getName();
+ final /*@NonInvalid*/ boolean result = name != null;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxParameterNode_c_c_NameIsRequired, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean validateTypeIsRequired(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv TypeIsRequired:
+ * let severity : Integer[1] = 'TxParameterNode::TypeIsRequired'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let result : Boolean[1] = referredEClassifier <> null
+ * in
+ * 'TxParameterNode::TypeIsRequired'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxParameterNode_c_c_TypeIsRequired);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier = this.getReferredEClassifier();
+ final /*@NonInvalid*/ boolean result = referredEClassifier != null;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxParameterNode_c_c_TypeIsRequired, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public String toString() {
return super.toString();
}
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxPartNodeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxPartNodeImpl.java
index b8cd84f35..bc159fc75 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxPartNodeImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxPartNodeImpl.java
@@ -220,6 +220,7 @@ public class TxPartNodeImpl extends TxNodeImpl implements TxPartNode {
* <!-- end-user-doc -->
* @generated
*/
+ @Override
public boolean validatePartIsPropertyOfKey(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxQueryNodeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxQueryNodeImpl.java
index e8b9e5dc3..61066e5c4 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxQueryNodeImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxQueryNodeImpl.java
@@ -33,19 +33,14 @@ import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.ids.TypeId;
-
import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
-
import org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation;
-
import org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation;
import org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation;
-
import org.eclipse.ocl.pivot.utilities.ValueUtil;
-
import org.eclipse.ocl.pivot.values.SetValue;
-
import org.eclipse.qvtd.umlx.TxDiagram;
import org.eclipse.qvtd.umlx.TxParameterNode;
import org.eclipse.qvtd.umlx.TxQueryNode;
@@ -501,6 +496,78 @@ public class TxQueryNodeImpl extends TxNodeImpl implements TxQueryNode {
* @generated
*/
@Override
+ public boolean validateNameIsRequired(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv NameIsRequired:
+ * let severity : Integer[1] = 'TxQueryNode::NameIsRequired'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let result : Boolean[1] = name <> null
+ * in
+ * 'TxQueryNode::NameIsRequired'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxQueryNode_c_c_NameIsRequired);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ final /*@NonInvalid*/ java.lang.@Nullable String name = this.getName();
+ final /*@NonInvalid*/ boolean result = name != null;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxQueryNode_c_c_NameIsRequired, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean validateTypeIsRequired(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv TypeIsRequired:
+ * let severity : Integer[1] = 'TxQueryNode::TypeIsRequired'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let result : Boolean[1] = referredEClassifier <> null
+ * in
+ * 'TxQueryNode::TypeIsRequired'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxQueryNode_c_c_TypeIsRequired);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ final /*@NonInvalid*/ org.eclipse.emf.ecore.@Nullable EClassifier referredEClassifier = this.getReferredEClassifier();
+ final /*@NonInvalid*/ boolean result = referredEClassifier != null;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxQueryNode_c_c_TypeIsRequired, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public boolean validateParametersAreUnique(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
@@ -542,8 +609,7 @@ public class TxQueryNodeImpl extends TxNodeImpl implements TxQueryNode {
/**
* name
*/
- @SuppressWarnings("null")
- final /*@NonInvalid*/ java.lang.@NonNull String name = _1.getName();
+ final /*@NonInvalid*/ java.lang.@Nullable String name = _1.getName();
//
if (accumulator.includes(name) == ValueUtil.TRUE_VALUE) {
result = ValueUtil.FALSE_VALUE; // Abort after second find
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxTypedModelNodeImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxTypedModelNodeImpl.java
index d16ef4b81..fac928e41 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxTypedModelNodeImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/TxTypedModelNodeImpl.java
@@ -25,6 +25,7 @@ import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.ids.TypeId;
import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
import org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation;
@@ -277,6 +278,7 @@ public class TxTypedModelNodeImpl extends TxNodeImpl implements TxTypedModelNode
* <!-- end-user-doc -->
* @generated
*/
+ @Override
public boolean validateTxPackageNodePackagesAreUnique(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
/**
*
@@ -347,6 +349,42 @@ public class TxTypedModelNodeImpl extends TxNodeImpl implements TxTypedModelNode
* <!-- end-user-doc -->
* @generated
*/
+ @Override
+ public boolean validateNameIsRequired(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+ /**
+ *
+ * inv NameIsRequired:
+ * let severity : Integer[1] = 'TxTypedModelNode::NameIsRequired'.getSeverity()
+ * in
+ * if severity <= 0
+ * then true
+ * else
+ * let result : Boolean[1] = name <> null
+ * in
+ * 'TxTypedModelNode::NameIsRequired'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+ * endif
+ */
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.evaluation.@NonNull Executor executor = PivotUtilInternal.getExecutor(this);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@NonNull IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, UMLXTables.STR_TxTypedModelNode_c_c_NameIsRequired);
+ final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, UMLXTables.INT_0).booleanValue();
+ /*@NonInvalid*/ boolean symbol_0;
+ if (le) {
+ symbol_0 = ValueUtil.TRUE_VALUE;
+ }
+ else {
+ final /*@NonInvalid*/ java.lang.@Nullable String name = this.getName();
+ final /*@NonInvalid*/ boolean result = name != null;
+ final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, UMLXTables.STR_TxTypedModelNode_c_c_NameIsRequired, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, UMLXTables.INT_0).booleanValue();
+ symbol_0 = logDiagnostic;
+ }
+ return Boolean.TRUE == symbol_0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@SuppressWarnings("unchecked")
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/UMLXFactoryImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/UMLXFactoryImpl.java
index df0eb9abf..4e4c57688 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/UMLXFactoryImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/UMLXFactoryImpl.java
@@ -68,9 +68,8 @@ public class UMLXFactoryImpl extends EFactoryImpl implements UMLXFactory {
case UMLXPackage.REL_DOMAIN_NODE: return createRelDomainNode();
case UMLXPackage.REL_INVOCATION_EDGE: return createRelInvocationEdge();
case UMLXPackage.REL_INVOCATION_NODE: return createRelInvocationNode();
- case UMLXPackage.REL_PATTERN_CLASS_NODE: return createRelPatternClassNode();
case UMLXPackage.REL_PATTERN_EDGE: return createRelPatternEdge();
- case UMLXPackage.REL_PATTERN_EXPRESSION_NODE: return createRelPatternExpressionNode();
+ case UMLXPackage.REL_PATTERN_NODE: return createRelPatternNode();
case UMLXPackage.TX_DIAGRAM: return createTxDiagram();
case UMLXPackage.TX_IMPORT_NODE: return createTxImportNode();
case UMLXPackage.TX_KEY_NODE: return createTxKeyNode();
@@ -136,17 +135,6 @@ public class UMLXFactoryImpl extends EFactoryImpl implements UMLXFactory {
* @generated
*/
@Override
- public @NonNull RelPatternClassNode createRelPatternClassNode() {
- RelPatternClassNodeImpl relPatternClassNode = new RelPatternClassNodeImpl();
- return relPatternClassNode;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
public @NonNull RelPatternEdge createRelPatternEdge() {
RelPatternEdgeImpl relPatternEdge = new RelPatternEdgeImpl();
return relPatternEdge;
@@ -158,9 +146,9 @@ public class UMLXFactoryImpl extends EFactoryImpl implements UMLXFactory {
* @generated
*/
@Override
- public @NonNull RelPatternExpressionNode createRelPatternExpressionNode() {
- RelPatternExpressionNodeImpl relPatternExpressionNode = new RelPatternExpressionNodeImpl();
- return relPatternExpressionNode;
+ public @NonNull RelPatternNode createRelPatternNode() {
+ RelPatternNodeImpl relPatternNode = new RelPatternNodeImpl();
+ return relPatternNode;
}
/**
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/UMLXPackageImpl.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/UMLXPackageImpl.java
index 2961ef351..b28de5f4b 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/UMLXPackageImpl.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/impl/UMLXPackageImpl.java
@@ -18,7 +18,6 @@ import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EValidator;
import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.qvtd.umlx.RelPatternExpressionNode;
import org.eclipse.qvtd.umlx.RelDiagram;
import org.eclipse.qvtd.umlx.RelDomainNode;
import org.eclipse.qvtd.umlx.RelEdge;
@@ -27,7 +26,6 @@ import org.eclipse.qvtd.umlx.RelInvocationNode;
import org.eclipse.qvtd.umlx.RelPatternNode;
import org.eclipse.qvtd.umlx.RelNode;
import org.eclipse.qvtd.umlx.RelPatternEdge;
-import org.eclipse.qvtd.umlx.RelPatternClassNode;
import org.eclipse.qvtd.umlx.TxDiagram;
import org.eclipse.qvtd.umlx.TxImportNode;
import org.eclipse.qvtd.umlx.TxKeyNode;
@@ -106,13 +104,6 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
* <!-- end-user-doc -->
* @generated
*/
- private EClass relPatternExpressionNodeEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
private EClass relPatternNodeEClass = null;
/**
@@ -207,13 +198,6 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
private EClass umlxTypedElementEClass = null;
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass relPatternClassNodeEClass = null;
-
- /**
* Creates an instance of the model <b>Package</b>, registered with
* {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
@@ -561,8 +545,8 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
* @generated
*/
@Override
- public EClass getRelPatternExpressionNode() {
- return relPatternExpressionNodeEClass;
+ public EClass getRelPatternNode() {
+ return relPatternNodeEClass;
}
/**
@@ -571,8 +555,8 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
* @generated
*/
@Override
- public EClass getRelPatternNode() {
- return relPatternNodeEClass;
+ public EReference getRelPatternNode_Incoming() {
+ return (EReference)relPatternNodeEClass.getEStructuralFeatures().get(0);
}
/**
@@ -581,8 +565,8 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
* @generated
*/
@Override
- public EReference getRelPatternNode_Incoming() {
- return (EReference)relPatternNodeEClass.getEStructuralFeatures().get(0);
+ public EAttribute getRelPatternNode_InitExpressionLines() {
+ return (EAttribute)relPatternNodeEClass.getEStructuralFeatures().get(1);
}
/**
@@ -591,8 +575,8 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
* @generated
*/
@Override
- public EAttribute getRelPatternNode_InitExpressionLines() {
- return (EAttribute)relPatternNodeEClass.getEStructuralFeatures().get(1);
+ public EAttribute getRelPatternNode_IsRoot() {
+ return (EAttribute)relPatternNodeEClass.getEStructuralFeatures().get(4);
}
/**
@@ -601,8 +585,8 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
* @generated
*/
@Override
- public EAttribute getRelPatternNode_IsRoot() {
- return (EAttribute)relPatternNodeEClass.getEStructuralFeatures().get(2);
+ public EReference getRelPatternNode_Outgoing() {
+ return (EReference)relPatternNodeEClass.getEStructuralFeatures().get(5);
}
/**
@@ -612,7 +596,7 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
*/
@Override
public EReference getRelPatternNode_OwningRelDomainNode() {
- return (EReference)relPatternNodeEClass.getEStructuralFeatures().get(3);
+ return (EReference)relPatternNodeEClass.getEStructuralFeatures().get(6);
}
/**
@@ -622,7 +606,17 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
*/
@Override
public EReference getRelPatternNode_InvokingRelInvocationEdges() {
- return (EReference)relPatternNodeEClass.getEStructuralFeatures().get(4);
+ return (EReference)relPatternNodeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getRelPatternNode_IsAnon() {
+ return (EAttribute)relPatternNodeEClass.getEStructuralFeatures().get(3);
}
/**
@@ -1091,46 +1085,6 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
* @generated
*/
@Override
- public EClass getRelPatternClassNode() {
- return relPatternClassNodeEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EAttribute getRelPatternClassNode_IsAnon() {
- return (EAttribute)relPatternClassNodeEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getRelPatternClassNode_Outgoing() {
- return (EReference)relPatternClassNodeEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EReference getRelPatternClassNode_RelDomainNode() {
- return (EReference)relPatternClassNodeEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
public UMLXFactory getUMLXFactory() {
return (UMLXFactory)getEFactoryInstance();
}
@@ -1181,11 +1135,6 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
relNodeEClass = createEClass(REL_NODE);
- relPatternClassNodeEClass = createEClass(REL_PATTERN_CLASS_NODE);
- createEAttribute(relPatternClassNodeEClass, REL_PATTERN_CLASS_NODE__IS_ANON);
- createEReference(relPatternClassNodeEClass, REL_PATTERN_CLASS_NODE__OUTGOING);
- createEReference(relPatternClassNodeEClass, REL_PATTERN_CLASS_NODE__REL_DOMAIN_NODE);
-
relPatternEdgeEClass = createEClass(REL_PATTERN_EDGE);
createEReference(relPatternEdgeEClass, REL_PATTERN_EDGE__OWNING_REL_DOMAIN_NODE);
createEReference(relPatternEdgeEClass, REL_PATTERN_EDGE__REFERRED_ESTRUCTURAL_FEATURE);
@@ -1193,14 +1142,14 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
createEAttribute(relPatternEdgeEClass, REL_PATTERN_EDGE__SOURCE_INDEX);
createEReference(relPatternEdgeEClass, REL_PATTERN_EDGE__TARGET);
- relPatternExpressionNodeEClass = createEClass(REL_PATTERN_EXPRESSION_NODE);
-
relPatternNodeEClass = createEClass(REL_PATTERN_NODE);
createEReference(relPatternNodeEClass, REL_PATTERN_NODE__INCOMING);
createEAttribute(relPatternNodeEClass, REL_PATTERN_NODE__INIT_EXPRESSION_LINES);
+ createEReference(relPatternNodeEClass, REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES);
+ createEAttribute(relPatternNodeEClass, REL_PATTERN_NODE__IS_ANON);
createEAttribute(relPatternNodeEClass, REL_PATTERN_NODE__IS_ROOT);
+ createEReference(relPatternNodeEClass, REL_PATTERN_NODE__OUTGOING);
createEReference(relPatternNodeEClass, REL_PATTERN_NODE__OWNING_REL_DOMAIN_NODE);
- createEReference(relPatternNodeEClass, REL_PATTERN_NODE__INVOKING_REL_INVOCATION_EDGES);
txDiagramEClass = createEClass(TX_DIAGRAM);
createEReference(txDiagramEClass, TX_DIAGRAM__OWNED_REL_DIAGRAMS);
@@ -1296,11 +1245,9 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
relInvocationEdgeEClass.getESuperTypes().add(this.getRelEdge());
relInvocationNodeEClass.getESuperTypes().add(this.getRelNode());
relNodeEClass.getESuperTypes().add(this.getUMLXElement());
- relPatternClassNodeEClass.getESuperTypes().add(this.getRelPatternNode());
- relPatternClassNodeEClass.getESuperTypes().add(this.getUMLXTypedElement());
relPatternEdgeEClass.getESuperTypes().add(this.getRelEdge());
- relPatternExpressionNodeEClass.getESuperTypes().add(this.getRelPatternNode());
relPatternNodeEClass.getESuperTypes().add(this.getRelNode());
+ relPatternNodeEClass.getESuperTypes().add(this.getUMLXTypedElement());
txDiagramEClass.getESuperTypes().add(this.getUMLXNamedElement());
txImportNodeEClass.getESuperTypes().add(this.getTxNode());
txImportNodeEClass.getESuperTypes().add(this.getUMLXNamedElement());
@@ -1325,7 +1272,7 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
initEReference(getRelDiagram_OwnedRelInvocationNodes(), this.getRelInvocationNode(), this.getRelInvocationNode_OwningRelDiagram(), "ownedRelInvocationNodes", null, 0, -1, RelDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRelDiagram_OwningTxDiagram(), this.getTxDiagram(), this.getTxDiagram_OwnedRelDiagrams(), "owningTxDiagram", null, 1, 1, RelDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- EOperation op = addEOperation(relDiagramEClass, ecorePackage.getEBoolean(), "validateRelPatternNodeNamesAreUnique", 0, 1, IS_UNIQUE, IS_ORDERED);
+ EOperation op = addEOperation(relDiagramEClass, ecorePackage.getEBoolean(), "validateNameIsRequired", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
EGenericType g1 = createEGenericType(ecorePackage.getEMap());
EGenericType g2 = createEGenericType(ecorePackage.getEJavaObject());
@@ -1334,6 +1281,15 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+ op = addEOperation(relDiagramEClass, ecorePackage.getEBoolean(), "validateRelPatternNodeNamesAreUnique", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
initEClass(relDomainNodeEClass, RelDomainNode.class, "RelDomainNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRelDomainNode_OwnedRelPatternEdges(), this.getRelPatternEdge(), this.getRelPatternEdge_OwningRelDomainNode(), "ownedRelPatternEdges", null, 0, -1, RelDomainNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRelDomainNode_OwnedRelPatternNodes(), this.getRelPatternNode(), this.getRelPatternNode_OwningRelDomainNode(), "ownedRelPatternNodes", null, 0, -1, RelDomainNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1345,7 +1301,7 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
initEClass(relInvocationEdgeEClass, RelInvocationEdge.class, "RelInvocationEdge", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRelInvocationEdge_InvokingRelPatternNode(), this.getRelPatternNode(), this.getRelPatternNode_InvokingRelInvocationEdges(), "invokingRelPatternNode", null, 1, 1, RelInvocationEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRelInvocationEdge_OwningRelInvocationNode(), this.getRelInvocationNode(), this.getRelInvocationNode_OwnedRelInvocationEdges(), "owningRelInvocationNode", null, 1, 1, RelInvocationEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getRelInvocationEdge_ReferredRelPatternNode(), this.getRelPatternClassNode(), null, "referredRelPatternNode", null, 1, 1, RelInvocationEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelInvocationEdge_ReferredRelPatternNode(), this.getRelPatternNode(), null, "referredRelPatternNode", null, 1, 1, RelInvocationEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(relInvocationNodeEClass, RelInvocationNode.class, "RelInvocationNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getRelInvocationNode_IsThen(), ecorePackage.getEBoolean(), "isThen", "true", 1, 1, RelInvocationNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1364,33 +1320,10 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
initEClass(relNodeEClass, RelNode.class, "RelNode", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEClass(relPatternClassNodeEClass, RelPatternClassNode.class, "RelPatternClassNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getRelPatternClassNode_IsAnon(), ecorePackage.getEBoolean(), "isAnon", "false", 1, 1, RelPatternClassNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getRelPatternClassNode_Outgoing(), this.getRelPatternEdge(), this.getRelPatternEdge_Source(), "outgoing", null, 0, -1, RelPatternClassNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getRelPatternClassNode_RelDomainNode(), this.getRelDomainNode(), null, "relDomainNode", null, 0, 1, RelPatternClassNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- op = addEOperation(relPatternClassNodeEClass, ecorePackage.getEBoolean(), "validateAnonIsUnnamed", 0, 1, IS_UNIQUE, IS_ORDERED);
- addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
- g1 = createEGenericType(ecorePackage.getEMap());
- g2 = createEGenericType(ecorePackage.getEJavaObject());
- g1.getETypeArguments().add(g2);
- g2 = createEGenericType(ecorePackage.getEJavaObject());
- g1.getETypeArguments().add(g2);
- addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
-
- op = addEOperation(relPatternClassNodeEClass, ecorePackage.getEBoolean(), "validateEClassifierIsInTypedModel", 0, 1, IS_UNIQUE, IS_ORDERED);
- addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
- g1 = createEGenericType(ecorePackage.getEMap());
- g2 = createEGenericType(ecorePackage.getEJavaObject());
- g1.getETypeArguments().add(g2);
- g2 = createEGenericType(ecorePackage.getEJavaObject());
- g1.getETypeArguments().add(g2);
- addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
-
initEClass(relPatternEdgeEClass, RelPatternEdge.class, "RelPatternEdge", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRelPatternEdge_OwningRelDomainNode(), this.getRelDomainNode(), this.getRelDomainNode_OwnedRelPatternEdges(), "owningRelDomainNode", null, 0, 1, RelPatternEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRelPatternEdge_ReferredEStructuralFeature(), ecorePackage.getEStructuralFeature(), null, "referredEStructuralFeature", null, 0, 1, RelPatternEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getRelPatternEdge_Source(), this.getRelPatternClassNode(), this.getRelPatternClassNode_Outgoing(), "source", null, 1, 1, RelPatternEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelPatternEdge_Source(), this.getRelPatternNode(), this.getRelPatternNode_Outgoing(), "source", null, 1, 1, RelPatternEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRelPatternEdge_SourceIndex(), ecorePackage.getEInt(), "sourceIndex", null, 1, 1, RelPatternEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRelPatternEdge_Target(), this.getRelPatternNode(), this.getRelPatternNode_Incoming(), "target", null, 1, 1, RelPatternEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1475,14 +1408,43 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
- initEClass(relPatternExpressionNodeEClass, RelPatternExpressionNode.class, "RelPatternExpressionNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
- initEClass(relPatternNodeEClass, RelPatternNode.class, "RelPatternNode", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEClass(relPatternNodeEClass, RelPatternNode.class, "RelPatternNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRelPatternNode_Incoming(), this.getRelPatternEdge(), this.getRelPatternEdge_Target(), "incoming", null, 0, -1, RelPatternNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRelPatternNode_InitExpressionLines(), ecorePackage.getEString(), "initExpressionLines", null, 0, -1, RelPatternNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelPatternNode_InvokingRelInvocationEdges(), this.getRelInvocationEdge(), this.getRelInvocationEdge_InvokingRelPatternNode(), "invokingRelInvocationEdges", null, 0, -1, RelPatternNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRelPatternNode_IsAnon(), ecorePackage.getEBoolean(), "isAnon", "false", 1, 1, RelPatternNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRelPatternNode_IsRoot(), ecorePackage.getEBoolean(), "isRoot", "false", 1, 1, RelPatternNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelPatternNode_Outgoing(), this.getRelPatternEdge(), this.getRelPatternEdge_Source(), "outgoing", null, 0, -1, RelPatternNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRelPatternNode_OwningRelDomainNode(), this.getRelDomainNode(), this.getRelDomainNode_OwnedRelPatternNodes(), "owningRelDomainNode", null, 1, 1, RelPatternNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getRelPatternNode_InvokingRelInvocationEdges(), this.getRelInvocationEdge(), this.getRelInvocationEdge_InvokingRelPatternNode(), "invokingRelInvocationEdges", null, 0, -1, RelPatternNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(relPatternNodeEClass, ecorePackage.getEBooleanObject(), "isExpression", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = addEOperation(relPatternNodeEClass, ecorePackage.getEBoolean(), "validateAnonIsUnnamed", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = addEOperation(relPatternNodeEClass, ecorePackage.getEBoolean(), "validateTypeIsRequired", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = addEOperation(relPatternNodeEClass, ecorePackage.getEBoolean(), "validateEClassifierIsInTypedModel", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(txDiagramEClass, TxDiagram.class, "TxDiagram", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTxDiagram_OwnedRelDiagrams(), this.getRelDiagram(), this.getRelDiagram_OwningTxDiagram(), "ownedRelDiagrams", null, 0, -1, TxDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1492,7 +1454,7 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
initEReference(getTxDiagram_OwnedTxTypedModelNodes(), this.getTxTypedModelNode(), this.getTxTypedModelNode_OwningTxDiagram(), "ownedTxTypedModelNodes", null, 0, -1, TxDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getTxDiagram_Package(), ecorePackage.getEString(), "package", null, 0, 1, TxDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- op = addEOperation(txDiagramEClass, ecorePackage.getEBoolean(), "validateTxTypedModelNodeNamesAreUnique", 0, 1, IS_UNIQUE, IS_ORDERED);
+ op = addEOperation(txDiagramEClass, ecorePackage.getEBoolean(), "validateTxQueryNodeNamesAreUnique", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
g1 = createEGenericType(ecorePackage.getEMap());
g2 = createEGenericType(ecorePackage.getEJavaObject());
@@ -1501,7 +1463,7 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
- op = addEOperation(txDiagramEClass, ecorePackage.getEBoolean(), "validateTxQueryNodeNamesAreUnique", 0, 1, IS_UNIQUE, IS_ORDERED);
+ op = addEOperation(txDiagramEClass, ecorePackage.getEBoolean(), "validateRelDiagramNamesAreUnique", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
g1 = createEGenericType(ecorePackage.getEMap());
g2 = createEGenericType(ecorePackage.getEJavaObject());
@@ -1510,7 +1472,16 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
- op = addEOperation(txDiagramEClass, ecorePackage.getEBoolean(), "validateRelDiagramNamesAreUnique", 0, 1, IS_UNIQUE, IS_ORDERED);
+ op = addEOperation(txDiagramEClass, ecorePackage.getEBoolean(), "validateNameIsRequired", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = addEOperation(txDiagramEClass, ecorePackage.getEBoolean(), "validateTxTypedModelNodeNamesAreUnique", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
g1 = createEGenericType(ecorePackage.getEMap());
g2 = createEGenericType(ecorePackage.getEJavaObject());
@@ -1523,6 +1494,15 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
initEReference(getTxImportNode_OwningTxDiagram(), this.getTxDiagram(), this.getTxDiagram_OwnedTxImportNodes(), "owningTxDiagram", null, 1, 1, TxImportNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getTxImportNode_Uri(), ecorePackage.getEString(), "uri", null, 1, 1, TxImportNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ op = addEOperation(txImportNodeEClass, ecorePackage.getEBoolean(), "validateNameIsRequired", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
initEClass(txKeyNodeEClass, TxKeyNode.class, "TxKeyNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTxKeyNode_OwnedTxPartNodes(), this.getTxPartNode(), this.getTxPartNode_OwningTxKeyNode(), "ownedTxPartNodes", null, 1, -1, TxKeyNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTxKeyNode_OwningTxDiagram(), this.getTxDiagram(), this.getTxDiagram_OwnedTxKeyNodes(), "owningTxDiagram", null, 1, 1, TxKeyNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1546,6 +1526,24 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
initEClass(txParameterNodeEClass, TxParameterNode.class, "TxParameterNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTxParameterNode_OwningTxQueryNode(), this.getTxQueryNode(), this.getTxQueryNode_OwnedTxParameterNodes(), "owningTxQueryNode", null, 1, 1, TxParameterNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ op = addEOperation(txParameterNodeEClass, ecorePackage.getEBoolean(), "validateNameIsRequired", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = addEOperation(txParameterNodeEClass, ecorePackage.getEBoolean(), "validateTypeIsRequired", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
initEClass(txPartNodeEClass, TxPartNode.class, "TxPartNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTxPartNode_OwningTxKeyNode(), this.getTxKeyNode(), this.getTxKeyNode_OwnedTxPartNodes(), "owningTxKeyNode", null, 1, 1, TxPartNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getTxPartNode_IsOpposite(), ecorePackage.getEBoolean(), "isOpposite", "false", 1, 1, TxPartNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1565,6 +1563,24 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
initEReference(getTxQueryNode_OwnedTxParameterNodes(), this.getTxParameterNode(), this.getTxParameterNode_OwningTxQueryNode(), "ownedTxParameterNodes", null, 1, -1, TxQueryNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTxQueryNode_OwningTxDiagram(), this.getTxDiagram(), this.getTxDiagram_OwnedTxQueryNodes(), "owningTxDiagram", null, 1, 1, TxQueryNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ op = addEOperation(txQueryNodeEClass, ecorePackage.getEBoolean(), "validateNameIsRequired", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ op = addEOperation(txQueryNodeEClass, ecorePackage.getEBoolean(), "validateTypeIsRequired", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
op = addEOperation(txQueryNodeEClass, ecorePackage.getEBoolean(), "validateParametersAreUnique", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
g1 = createEGenericType(ecorePackage.getEMap());
@@ -1589,6 +1605,15 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+ op = addEOperation(txTypedModelNodeEClass, ecorePackage.getEBoolean(), "validateNameIsRequired", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEMap());
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ g2 = createEGenericType(ecorePackage.getEJavaObject());
+ g1.getETypeArguments().add(g2);
+ addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
initEClass(umlxElementEClass, UMLXElement.class, "UMLXElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getUMLXElement_Comments(), ecorePackage.getEString(), "comments", null, 0, -1, UMLXElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1596,7 +1621,7 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
initEReference(getUMLXModel_OwnedTxDiagrams(), this.getTxDiagram(), null, "ownedTxDiagrams", null, 0, -1, UMLXModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(umlxNamedElementEClass, UMLXNamedElement.class, "UMLXNamedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getUMLXNamedElement_Name(), ecorePackage.getEString(), "name", null, 1, 1, UMLXNamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getUMLXNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, UMLXNamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(umlxTypedElementEClass, UMLXTypedElement.class, "UMLXTypedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getUMLXTypedElement_IsMany(), ecorePackage.getEBoolean(), "isMany", "false", 1, 1, UMLXTypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1604,7 +1629,7 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
initEAttribute(getUMLXTypedElement_IsOrdered(), ecorePackage.getEBoolean(), "isOrdered", "false", 1, 1, UMLXTypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getUMLXTypedElement_IsRequired(), ecorePackage.getEBoolean(), "isRequired", "true", 1, 1, UMLXTypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getUMLXTypedElement_IsUnique(), ecorePackage.getEBoolean(), "isUnique", "true", 1, 1, UMLXTypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getUMLXTypedElement_ReferredEClassifier(), ecorePackage.getEClassifier(), null, "referredEClassifier", null, 1, 1, UMLXTypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getUMLXTypedElement_ReferredEClassifier(), ecorePackage.getEClassifier(), null, "referredEClassifier", null, 0, 1, UMLXTypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Create resource
createResource(eNS_URI);
@@ -1633,55 +1658,67 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
(relDiagramEClass,
source,
new String[] {
- "constraints", "RelPatternNodeNamesAreUnique"
+ "constraints", "validateRelPatternNodeNamesAreUnique"
});
addAnnotation
(relInvocationNodeEClass,
source,
new String[] {
- "constraints", "CompatibleEdges"
+ "constraints", "validateCompatibleEdges"
});
addAnnotation
- (relPatternClassNodeEClass,
+ (relPatternEdgeEClass,
source,
new String[] {
- "constraints", "AnonIsUnnamed EClassifierIsInTypedModel"
+ "constraints", "validateCompatibleMemberPropertyTarget"
});
addAnnotation
- (relPatternEdgeEClass,
+ (relPatternNodeEClass,
source,
new String[] {
- "constraints", "SourceIsClassNode SourceIsEClass CompatiblePropertySource CompatibleSourceIndex CompatibleSourceMultiplicity CompatibleEAttributePropertyTarget CompatibleEReferencePropertyTarget CompatibleMemberPropertyTarget CompatibleRestPropertyTarget"
+ "constraints", "validateEClassifierIsInTypedModel"
});
addAnnotation
(txDiagramEClass,
source,
new String[] {
- "constraints", "RelDiagramNamesAreUnique TxQueryNodeNamesAreUnique TxTypedModelNodeNamesAreUnique"
+ "constraints", "validateTxTypedModelNodeNamesAreUnique"
+ });
+ addAnnotation
+ (txImportNodeEClass,
+ source,
+ new String[] {
+ "constraints", "validateNameIsRequired"
});
addAnnotation
(txKeyNodeEClass,
source,
new String[] {
- "constraints", "PartsAreUnique"
+ "constraints", "validatePartsAreUnique"
+ });
+ addAnnotation
+ (txParameterNodeEClass,
+ source,
+ new String[] {
+ "constraints", "validateTypeIsRequired"
});
addAnnotation
(txPartNodeEClass,
source,
new String[] {
- "constraints", "PartIsPropertyOfKey"
+ "constraints", "validatePartIsPropertyOfKey"
});
addAnnotation
(txQueryNodeEClass,
source,
new String[] {
- "constraints", "ParametersAreUnique"
+ "constraints", "validateParametersAreUnique"
});
addAnnotation
(txTypedModelNodeEClass,
source,
new String[] {
- "constraints", "TxPackageNodePackagesAreUnique"
+ "constraints", "validateNameIsRequired"
});
}
@@ -1697,25 +1734,19 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
(relDiagramEClass.getEOperations().get(0),
source,
new String[] {
- "originalName", "RelPatternNodeNamesAreUnique"
- });
- addAnnotation
- (relInvocationNodeEClass.getEOperations().get(0),
- source,
- new String[] {
- "originalName", "CompatibleEdges"
+ "originalName", "NameIsRequired"
});
addAnnotation
- (relPatternClassNodeEClass.getEOperations().get(0),
+ (relDiagramEClass.getEOperations().get(1),
source,
new String[] {
- "originalName", "AnonIsUnnamed"
+ "originalName", "RelPatternNodeNamesAreUnique"
});
addAnnotation
- (relPatternClassNodeEClass.getEOperations().get(1),
+ (relInvocationNodeEClass.getEOperations().get(0),
source,
new String[] {
- "originalName", "EClassifierIsInTypedModel"
+ "originalName", "CompatibleEdges"
});
addAnnotation
(relPatternEdgeEClass.getEOperations().get(0),
@@ -1772,22 +1803,52 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
"originalName", "CompatibleMemberPropertyTarget"
});
addAnnotation
+ (relPatternNodeEClass.getEOperations().get(1),
+ source,
+ new String[] {
+ "originalName", "AnonIsUnnamed"
+ });
+ addAnnotation
+ (relPatternNodeEClass.getEOperations().get(2),
+ source,
+ new String[] {
+ "originalName", "TypeIsRequired"
+ });
+ addAnnotation
+ (relPatternNodeEClass.getEOperations().get(3),
+ source,
+ new String[] {
+ "originalName", "EClassifierIsInTypedModel"
+ });
+ addAnnotation
(txDiagramEClass.getEOperations().get(0),
source,
new String[] {
- "originalName", "TxTypedModelNodeNamesAreUnique"
+ "originalName", "TxQueryNodeNamesAreUnique"
});
addAnnotation
(txDiagramEClass.getEOperations().get(1),
source,
new String[] {
- "originalName", "TxQueryNodeNamesAreUnique"
+ "originalName", "RelDiagramNamesAreUnique"
});
addAnnotation
(txDiagramEClass.getEOperations().get(2),
source,
new String[] {
- "originalName", "RelDiagramNamesAreUnique"
+ "originalName", "NameIsRequired"
+ });
+ addAnnotation
+ (txDiagramEClass.getEOperations().get(3),
+ source,
+ new String[] {
+ "originalName", "TxTypedModelNodeNamesAreUnique"
+ });
+ addAnnotation
+ (txImportNodeEClass.getEOperations().get(0),
+ source,
+ new String[] {
+ "originalName", "NameIsRequired"
});
addAnnotation
(txKeyNodeEClass.getEOperations().get(0),
@@ -1796,6 +1857,18 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
"originalName", "PartsAreUnique"
});
addAnnotation
+ (txParameterNodeEClass.getEOperations().get(0),
+ source,
+ new String[] {
+ "originalName", "NameIsRequired"
+ });
+ addAnnotation
+ (txParameterNodeEClass.getEOperations().get(1),
+ source,
+ new String[] {
+ "originalName", "TypeIsRequired"
+ });
+ addAnnotation
(txPartNodeEClass.getEOperations().get(0),
source,
new String[] {
@@ -1805,6 +1878,18 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
(txQueryNodeEClass.getEOperations().get(0),
source,
new String[] {
+ "originalName", "NameIsRequired"
+ });
+ addAnnotation
+ (txQueryNodeEClass.getEOperations().get(1),
+ source,
+ new String[] {
+ "originalName", "TypeIsRequired"
+ });
+ addAnnotation
+ (txQueryNodeEClass.getEOperations().get(2),
+ source,
+ new String[] {
"originalName", "ParametersAreUnique"
});
addAnnotation
@@ -1813,6 +1898,12 @@ public class UMLXPackageImpl extends EPackageImpl implements UMLXPackage {
new String[] {
"originalName", "TxPackageNodePackagesAreUnique"
});
+ addAnnotation
+ (txTypedModelNodeEClass.getEOperations().get(1),
+ source,
+ new String[] {
+ "originalName", "NameIsRequired"
+ });
}
} //UMLXPackageImpl
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/AbstractExtendingUMLXVisitor.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/AbstractExtendingUMLXVisitor.java
index 01a6f0ad5..ac69606db 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/AbstractExtendingUMLXVisitor.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/AbstractExtendingUMLXVisitor.java
@@ -68,21 +68,11 @@ public abstract class AbstractExtendingUMLXVisitor<R, C>
}
@Override
- public R visitRelPatternClassNode(org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode object) {
- return visitRelPatternNode(object);
- }
-
- @Override
public R visitRelPatternEdge(org.eclipse.qvtd.umlx.@NonNull RelPatternEdge object) {
return visitRelEdge(object);
}
@Override
- public R visitRelPatternExpressionNode(org.eclipse.qvtd.umlx.@NonNull RelPatternExpressionNode object) {
- return visitRelPatternNode(object);
- }
-
- @Override
public R visitRelPatternNode(org.eclipse.qvtd.umlx.@NonNull RelPatternNode object) {
return visitRelNode(object);
}
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXAdapterFactory.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXAdapterFactory.java
index 13155dc9f..885b72a41 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXAdapterFactory.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXAdapterFactory.java
@@ -100,18 +100,10 @@ public class UMLXAdapterFactory extends AdapterFactoryImpl {
return createRelNodeAdapter();
}
@Override
- public Adapter caseRelPatternClassNode(RelPatternClassNode object) {
- return createRelPatternClassNodeAdapter();
- }
- @Override
public Adapter caseRelPatternEdge(RelPatternEdge object) {
return createRelPatternEdgeAdapter();
}
@Override
- public Adapter caseRelPatternExpressionNode(RelPatternExpressionNode object) {
- return createRelPatternExpressionNodeAdapter();
- }
- @Override
public Adapter caseRelPatternNode(RelPatternNode object) {
return createRelPatternNodeAdapter();
}
@@ -286,20 +278,6 @@ public class UMLXAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.umlx.RelPatternExpressionNode <em>Rel Pattern Expression Node</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.qvtd.umlx.RelPatternExpressionNode
- * @generated
- */
- public Adapter createRelPatternExpressionNodeAdapter() {
- return null;
- }
-
- /**
* Creates a new adapter for an object of class '{@link org.eclipse.qvtd.umlx.RelPatternNode <em>Rel Pattern Node</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
@@ -496,20 +474,6 @@ public class UMLXAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.umlx.RelPatternClassNode <em>Rel Pattern Class Node</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.qvtd.umlx.RelPatternClassNode
- * @generated
- */
- public Adapter createRelPatternClassNodeAdapter() {
- return null;
- }
-
- /**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXSwitch.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXSwitch.java
index 7e75a1f2c..d0aee94dc 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXSwitch.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXSwitch.java
@@ -120,17 +120,6 @@ public class UMLXSwitch<@Nullable T> extends Switch<T> {
if (result == null) result = defaultCase(theEObject);
return result;
}
- case UMLXPackage.REL_PATTERN_CLASS_NODE: {
- RelPatternClassNode relPatternClassNode = (RelPatternClassNode)theEObject;
- T result = caseRelPatternClassNode(relPatternClassNode);
- if (result == null) result = caseRelPatternNode(relPatternClassNode);
- if (result == null) result = caseUMLXTypedElement(relPatternClassNode);
- if (result == null) result = caseRelNode(relPatternClassNode);
- if (result == null) result = caseUMLXNamedElement(relPatternClassNode);
- if (result == null) result = caseUMLXElement(relPatternClassNode);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
case UMLXPackage.REL_PATTERN_EDGE: {
RelPatternEdge relPatternEdge = (RelPatternEdge)theEObject;
T result = caseRelPatternEdge(relPatternEdge);
@@ -139,19 +128,12 @@ public class UMLXSwitch<@Nullable T> extends Switch<T> {
if (result == null) result = defaultCase(theEObject);
return result;
}
- case UMLXPackage.REL_PATTERN_EXPRESSION_NODE: {
- RelPatternExpressionNode relPatternExpressionNode = (RelPatternExpressionNode)theEObject;
- T result = caseRelPatternExpressionNode(relPatternExpressionNode);
- if (result == null) result = caseRelPatternNode(relPatternExpressionNode);
- if (result == null) result = caseRelNode(relPatternExpressionNode);
- if (result == null) result = caseUMLXElement(relPatternExpressionNode);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
case UMLXPackage.REL_PATTERN_NODE: {
RelPatternNode relPatternNode = (RelPatternNode)theEObject;
T result = caseRelPatternNode(relPatternNode);
if (result == null) result = caseRelNode(relPatternNode);
+ if (result == null) result = caseUMLXTypedElement(relPatternNode);
+ if (result == null) result = caseUMLXNamedElement(relPatternNode);
if (result == null) result = caseUMLXElement(relPatternNode);
if (result == null) result = defaultCase(theEObject);
return result;
@@ -371,21 +353,6 @@ public class UMLXSwitch<@Nullable T> extends Switch<T> {
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Rel Pattern Expression Node</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Rel Pattern Expression Node</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseRelPatternExpressionNode(RelPatternExpressionNode object) {
- return null;
- }
-
- /**
* Returns the result of interpreting the object as an instance of '<em>Rel Pattern Node</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
@@ -596,21 +563,6 @@ public class UMLXSwitch<@Nullable T> extends Switch<T> {
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Rel Pattern Class Node</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Rel Pattern Class Node</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseRelPatternClassNode(RelPatternClassNode object) {
- return null;
- }
-
- /**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXValidator.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXValidator.java
index f3dae50b5..163222f27 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXValidator.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXValidator.java
@@ -12,7 +12,6 @@ package org.eclipse.qvtd.umlx.util;
import java.util.Map;
-import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.ResourceLocator;
@@ -49,12 +48,20 @@ public class UMLXValidator extends EObjectValidator {
public static final String DIAGNOSTIC_SOURCE = "org.eclipse.qvtd.umlx";
/**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Name Is Required' of 'Rel Diagram'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int REL_DIAGRAM__VALIDATE_NAME_IS_REQUIRED = 1;
+
+ /**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Rel Pattern Node Names Are Unique' of 'Rel Diagram'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_DIAGRAM__VALIDATE_REL_PATTERN_NODE_NAMES_ARE_UNIQUE = 1;
+ public static final int REL_DIAGRAM__VALIDATE_REL_PATTERN_NODE_NAMES_ARE_UNIQUE = 2;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible Edges' of 'Rel Invocation Node'.
@@ -62,47 +69,55 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_INVOCATION_NODE__VALIDATE_COMPATIBLE_EDGES = 2;
+ public static final int REL_INVOCATION_NODE__VALIDATE_COMPATIBLE_EDGES = 3;
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Anon Is Unnamed' of 'Rel Pattern Class Node'.
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Source Is EClass' of 'Rel Pattern Edge'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_CLASS_NODE__VALIDATE_ANON_IS_UNNAMED = 3;
+ public static final int REL_PATTERN_EDGE__VALIDATE_SOURCE_IS_ECLASS = 4;
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate EClassifier Is In Typed Model' of 'Rel Pattern Class Node'.
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Source Is Class Node' of 'Rel Pattern Edge'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_CLASS_NODE__VALIDATE_ECLASSIFIER_IS_IN_TYPED_MODEL = 4;
+ public static final int REL_PATTERN_EDGE__VALIDATE_SOURCE_IS_CLASS_NODE = 5;
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible Member Property Target' of 'Rel Pattern Edge'.
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible EAttribute Property Target' of 'Rel Pattern Edge'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_MEMBER_PROPERTY_TARGET = 13;
+ public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_EATTRIBUTE_PROPERTY_TARGET = 6;
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Source Is Class Node' of 'Rel Pattern Edge'.
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible Source Multiplicity' of 'Rel Pattern Edge'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_EDGE__VALIDATE_SOURCE_IS_CLASS_NODE = 6;
+ public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_SOURCE_MULTIPLICITY = 7;
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Source Is EClass' of 'Rel Pattern Edge'.
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible EReference Property Target' of 'Rel Pattern Edge'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_EREFERENCE_PROPERTY_TARGET = 8;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible Property Source' of 'Rel Pattern Edge'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_EDGE__VALIDATE_SOURCE_IS_ECLASS = 5;
+ public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_PROPERTY_SOURCE = 9;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible Source Index' of 'Rel Pattern Edge'.
@@ -110,7 +125,7 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_SOURCE_INDEX = 11;
+ public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_SOURCE_INDEX = 10;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible Rest Property Target' of 'Rel Pattern Edge'.
@@ -118,39 +133,47 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_REST_PROPERTY_TARGET = 12;
+ public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_REST_PROPERTY_TARGET = 11;
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible EAttribute Property Target' of 'Rel Pattern Edge'.
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible Member Property Target' of 'Rel Pattern Edge'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_EATTRIBUTE_PROPERTY_TARGET = 7;
+ public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_MEMBER_PROPERTY_TARGET = 12;
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible Property Source' of 'Rel Pattern Edge'.
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Anon Is Unnamed' of 'Rel Pattern Node'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_PROPERTY_SOURCE = 10;
+ public static final int REL_PATTERN_NODE__VALIDATE_ANON_IS_UNNAMED = 13;
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible Source Multiplicity' of 'Rel Pattern Edge'.
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Is Required' of 'Rel Pattern Node'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_SOURCE_MULTIPLICITY = 8;
+ public static final int REL_PATTERN_NODE__VALIDATE_TYPE_IS_REQUIRED = 14;
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible EReference Property Target' of 'Rel Pattern Edge'.
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate EClassifier Is In Typed Model' of 'Rel Pattern Node'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int REL_PATTERN_NODE__VALIDATE_ECLASSIFIER_IS_IN_TYPED_MODEL = 15;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Tx Query Node Names Are Unique' of 'Tx Diagram'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int REL_PATTERN_EDGE__VALIDATE_COMPATIBLE_EREFERENCE_PROPERTY_TARGET = 9;
+ public static final int TX_DIAGRAM__VALIDATE_TX_QUERY_NODE_NAMES_ARE_UNIQUE = 16;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Rel Diagram Names Are Unique' of 'Tx Diagram'.
@@ -158,7 +181,15 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- public static final int TX_DIAGRAM__VALIDATE_REL_DIAGRAM_NAMES_ARE_UNIQUE = 16;
+ public static final int TX_DIAGRAM__VALIDATE_REL_DIAGRAM_NAMES_ARE_UNIQUE = 17;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Name Is Required' of 'Tx Diagram'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int TX_DIAGRAM__VALIDATE_NAME_IS_REQUIRED = 18;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Tx Typed Model Node Names Are Unique' of 'Tx Diagram'.
@@ -166,15 +197,15 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- public static final int TX_DIAGRAM__VALIDATE_TX_TYPED_MODEL_NODE_NAMES_ARE_UNIQUE = 14;
+ public static final int TX_DIAGRAM__VALIDATE_TX_TYPED_MODEL_NODE_NAMES_ARE_UNIQUE = 19;
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Tx Query Node Names Are Unique' of 'Tx Diagram'.
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Name Is Required' of 'Tx Import Node'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final int TX_DIAGRAM__VALIDATE_TX_QUERY_NODE_NAMES_ARE_UNIQUE = 15;
+ public static final int TX_IMPORT_NODE__VALIDATE_NAME_IS_REQUIRED = 20;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Parts Are Unique' of 'Tx Key Node'.
@@ -182,7 +213,23 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- public static final int TX_KEY_NODE__VALIDATE_PARTS_ARE_UNIQUE = 17;
+ public static final int TX_KEY_NODE__VALIDATE_PARTS_ARE_UNIQUE = 21;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Name Is Required' of 'Tx Parameter Node'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int TX_PARAMETER_NODE__VALIDATE_NAME_IS_REQUIRED = 22;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Is Required' of 'Tx Parameter Node'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int TX_PARAMETER_NODE__VALIDATE_TYPE_IS_REQUIRED = 23;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Part Is Property Of Key' of 'Tx Part Node'.
@@ -190,7 +237,23 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- public static final int TX_PART_NODE__VALIDATE_PART_IS_PROPERTY_OF_KEY = 18;
+ public static final int TX_PART_NODE__VALIDATE_PART_IS_PROPERTY_OF_KEY = 24;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Name Is Required' of 'Tx Query Node'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int TX_QUERY_NODE__VALIDATE_NAME_IS_REQUIRED = 25;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Is Required' of 'Tx Query Node'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int TX_QUERY_NODE__VALIDATE_TYPE_IS_REQUIRED = 26;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Parameters Are Unique' of 'Tx Query Node'.
@@ -198,7 +261,7 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- public static final int TX_QUERY_NODE__VALIDATE_PARAMETERS_ARE_UNIQUE = 19;
+ public static final int TX_QUERY_NODE__VALIDATE_PARAMETERS_ARE_UNIQUE = 27;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Tx Package Node Packages Are Unique' of 'Tx Typed Model Node'.
@@ -206,7 +269,15 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- public static final int TX_TYPED_MODEL_NODE__VALIDATE_TX_PACKAGE_NODE_PACKAGES_ARE_UNIQUE = 20;
+ public static final int TX_TYPED_MODEL_NODE__VALIDATE_TX_PACKAGE_NODE_PACKAGES_ARE_UNIQUE = 28;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Name Is Required' of 'Tx Typed Model Node'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int TX_TYPED_MODEL_NODE__VALIDATE_NAME_IS_REQUIRED = 29;
/**
* A constant with a fixed name that can be used as the base value for additional hand written constants.
@@ -214,7 +285,7 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 20;
+ private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 29;
/**
* A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
@@ -242,7 +313,7 @@ public class UMLXValidator extends EObjectValidator {
*/
@Override
protected EPackage getEPackage() {
- return UMLXPackage.eINSTANCE;
+ return UMLXPackage.eINSTANCE;
}
/**
@@ -266,12 +337,8 @@ public class UMLXValidator extends EObjectValidator {
return validateRelInvocationNode((RelInvocationNode)value, diagnostics, context);
case UMLXPackage.REL_NODE:
return validateRelNode((RelNode)value, diagnostics, context);
- case UMLXPackage.REL_PATTERN_CLASS_NODE:
- return validateRelPatternClassNode((RelPatternClassNode)value, diagnostics, context);
case UMLXPackage.REL_PATTERN_EDGE:
return validateRelPatternEdge((RelPatternEdge)value, diagnostics, context);
- case UMLXPackage.REL_PATTERN_EXPRESSION_NODE:
- return validateRelPatternExpressionNode((RelPatternExpressionNode)value, diagnostics, context);
case UMLXPackage.REL_PATTERN_NODE:
return validateRelPatternNode((RelPatternNode)value, diagnostics, context);
case UMLXPackage.TX_DIAGRAM:
@@ -320,47 +387,29 @@ public class UMLXValidator extends EObjectValidator {
if (result || diagnostics != null) result &= validate_UniqueID(relDiagram, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryKeyUnique(relDiagram, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(relDiagram, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelDiagram_RelPatternNodeNamesAreUnique(relDiagram, diagnostics, context);
if (result || diagnostics != null) result &= validateRelDiagram_validateRelPatternNodeNamesAreUnique(relDiagram, diagnostics, context);
+ if (result || diagnostics != null) result &= validateRelDiagram_validateNameIsRequired(relDiagram, diagnostics, context);
return result;
}
/**
- * Validates the RelPatternNodeNamesAreUnique constraint of '<em>Rel Diagram</em>'.
+ * Validates the validateRelPatternNodeNamesAreUnique constraint of '<em>Rel Diagram</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelDiagram_RelPatternNodeNamesAreUnique(RelDiagram relDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "RelPatternNodeNamesAreUnique", getObjectLabel(relDiagram, context) },
- new Object[] { relDiagram },
- context));
- }
- return false;
- }
- return true;
+ public boolean validateRelDiagram_validateRelPatternNodeNamesAreUnique(RelDiagram relDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relDiagram.validateRelPatternNodeNamesAreUnique(diagnostics, context);
}
/**
- * Validates the validateRelPatternNodeNamesAreUnique constraint of '<em>Rel Diagram</em>'.
+ * Validates the validateNameIsRequired constraint of '<em>Rel Diagram</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelDiagram_validateRelPatternNodeNamesAreUnique(RelDiagram relDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return relDiagram.validateRelPatternNodeNamesAreUnique(diagnostics, context);
+ public boolean validateRelDiagram_validateNameIsRequired(RelDiagram relDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relDiagram.validateNameIsRequired(diagnostics, context);
}
/**
@@ -405,40 +454,11 @@ public class UMLXValidator extends EObjectValidator {
if (result || diagnostics != null) result &= validate_UniqueID(relInvocationNode, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryKeyUnique(relInvocationNode, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(relInvocationNode, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelInvocationNode_CompatibleEdges(relInvocationNode, diagnostics, context);
if (result || diagnostics != null) result &= validateRelInvocationNode_validateCompatibleEdges(relInvocationNode, diagnostics, context);
return result;
}
/**
- * Validates the CompatibleEdges constraint of '<em>Rel Invocation Node</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelInvocationNode_CompatibleEdges(RelInvocationNode relInvocationNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "CompatibleEdges", getObjectLabel(relInvocationNode, context) },
- new Object[] { relInvocationNode },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
* Validates the validateCompatibleEdges constraint of '<em>Rel Invocation Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -462,104 +482,6 @@ public class UMLXValidator extends EObjectValidator {
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternClassNode(RelPatternClassNode relPatternClassNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- if (!validate_NoCircularContainment(relPatternClassNode, diagnostics, context)) return false;
- boolean result = validate_EveryMultiplicityConforms(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validate_EveryDataValueConforms(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validate_EveryProxyResolves(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validate_UniqueID(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validate_EveryKeyUnique(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternClassNode_AnonIsUnnamed(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternClassNode_EClassifierIsInTypedModel(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternClassNode_validateAnonIsUnnamed(relPatternClassNode, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternClassNode_validateEClassifierIsInTypedModel(relPatternClassNode, diagnostics, context);
- return result;
- }
-
- /**
- * Validates the AnonIsUnnamed constraint of '<em>Rel Pattern Class Node</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternClassNode_AnonIsUnnamed(RelPatternClassNode relPatternClassNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "AnonIsUnnamed", getObjectLabel(relPatternClassNode, context) },
- new Object[] { relPatternClassNode },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
- * Validates the EClassifierIsInTypedModel constraint of '<em>Rel Pattern Class Node</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternClassNode_EClassifierIsInTypedModel(RelPatternClassNode relPatternClassNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "EClassifierIsInTypedModel", getObjectLabel(relPatternClassNode, context) },
- new Object[] { relPatternClassNode },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
- * Validates the validateAnonIsUnnamed constraint of '<em>Rel Pattern Class Node</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternClassNode_validateAnonIsUnnamed(RelPatternClassNode relPatternClassNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return relPatternClassNode.validateAnonIsUnnamed(diagnostics, context);
- }
-
- /**
- * Validates the validateEClassifierIsInTypedModel constraint of '<em>Rel Pattern Class Node</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternClassNode_validateEClassifierIsInTypedModel(RelPatternClassNode relPatternClassNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return relPatternClassNode.validateEClassifierIsInTypedModel(diagnostics, context);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
public boolean validateRelPatternEdge(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
if (!validate_NoCircularContainment(relPatternEdge, diagnostics, context)) return false;
boolean result = validate_EveryMultiplicityConforms(relPatternEdge, diagnostics, context);
@@ -570,15 +492,7 @@ public class UMLXValidator extends EObjectValidator {
if (result || diagnostics != null) result &= validate_UniqueID(relPatternEdge, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryKeyUnique(relPatternEdge, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(relPatternEdge, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternEdge_SourceIsClassNode(relPatternEdge, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternEdge_SourceIsEClass(relPatternEdge, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternEdge_CompatiblePropertySource(relPatternEdge, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternEdge_CompatibleSourceIndex(relPatternEdge, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternEdge_CompatibleSourceMultiplicity(relPatternEdge, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternEdge_CompatibleEAttributePropertyTarget(relPatternEdge, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternEdge_CompatibleEReferencePropertyTarget(relPatternEdge, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternEdge_CompatibleMemberPropertyTarget(relPatternEdge, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternEdge_CompatibleRestPropertyTarget(relPatternEdge, diagnostics, context);
+ if (result || diagnostics != null) result &= validateRelPatternEdge_validateCompatibleMemberPropertyTarget(relPatternEdge, diagnostics, context);
if (result || diagnostics != null) result &= validateRelPatternEdge_validateSourceIsEClass(relPatternEdge, diagnostics, context);
if (result || diagnostics != null) result &= validateRelPatternEdge_validateSourceIsClassNode(relPatternEdge, diagnostics, context);
if (result || diagnostics != null) result &= validateRelPatternEdge_validateCompatibleEAttributePropertyTarget(relPatternEdge, diagnostics, context);
@@ -587,290 +501,77 @@ public class UMLXValidator extends EObjectValidator {
if (result || diagnostics != null) result &= validateRelPatternEdge_validateCompatiblePropertySource(relPatternEdge, diagnostics, context);
if (result || diagnostics != null) result &= validateRelPatternEdge_validateCompatibleSourceIndex(relPatternEdge, diagnostics, context);
if (result || diagnostics != null) result &= validateRelPatternEdge_validateCompatibleRestPropertyTarget(relPatternEdge, diagnostics, context);
- if (result || diagnostics != null) result &= validateRelPatternEdge_validateCompatibleMemberPropertyTarget(relPatternEdge, diagnostics, context);
return result;
}
/**
- * Validates the SourceIsClassNode constraint of '<em>Rel Pattern Edge</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternEdge_SourceIsClassNode(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "SourceIsClassNode", getObjectLabel(relPatternEdge, context) },
- new Object[] { relPatternEdge },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
- * Validates the SourceIsEClass constraint of '<em>Rel Pattern Edge</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternEdge_SourceIsEClass(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "SourceIsEClass", getObjectLabel(relPatternEdge, context) },
- new Object[] { relPatternEdge },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
- * Validates the CompatiblePropertySource constraint of '<em>Rel Pattern Edge</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternEdge_CompatiblePropertySource(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "CompatiblePropertySource", getObjectLabel(relPatternEdge, context) },
- new Object[] { relPatternEdge },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
- * Validates the CompatibleSourceIndex constraint of '<em>Rel Pattern Edge</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternEdge_CompatibleSourceIndex(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "CompatibleSourceIndex", getObjectLabel(relPatternEdge, context) },
- new Object[] { relPatternEdge },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
- * Validates the CompatibleSourceMultiplicity constraint of '<em>Rel Pattern Edge</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternEdge_CompatibleSourceMultiplicity(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "CompatibleSourceMultiplicity", getObjectLabel(relPatternEdge, context) },
- new Object[] { relPatternEdge },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
- * Validates the CompatibleEAttributePropertyTarget constraint of '<em>Rel Pattern Edge</em>'.
+ * Validates the validateCompatibleMemberPropertyTarget constraint of '<em>Rel Pattern Edge</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternEdge_CompatibleEAttributePropertyTarget(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "CompatibleEAttributePropertyTarget", getObjectLabel(relPatternEdge, context) },
- new Object[] { relPatternEdge },
- context));
- }
- return false;
- }
- return true;
+ public boolean validateRelPatternEdge_validateCompatibleMemberPropertyTarget(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relPatternEdge.validateCompatibleMemberPropertyTarget(diagnostics, context);
}
/**
- * Validates the CompatibleEReferencePropertyTarget constraint of '<em>Rel Pattern Edge</em>'.
+ * Validates the validateSourceIsEClass constraint of '<em>Rel Pattern Edge</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternEdge_CompatibleEReferencePropertyTarget(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "CompatibleEReferencePropertyTarget", getObjectLabel(relPatternEdge, context) },
- new Object[] { relPatternEdge },
- context));
- }
- return false;
- }
- return true;
+ public boolean validateRelPatternEdge_validateSourceIsEClass(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relPatternEdge.validateSourceIsEClass(diagnostics, context);
}
/**
- * Validates the CompatibleMemberPropertyTarget constraint of '<em>Rel Pattern Edge</em>'.
+ * Validates the validateSourceIsClassNode constraint of '<em>Rel Pattern Edge</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternEdge_CompatibleMemberPropertyTarget(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "CompatibleMemberPropertyTarget", getObjectLabel(relPatternEdge, context) },
- new Object[] { relPatternEdge },
- context));
- }
- return false;
- }
- return true;
+ public boolean validateRelPatternEdge_validateSourceIsClassNode(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relPatternEdge.validateSourceIsClassNode(diagnostics, context);
}
/**
- * Validates the CompatibleRestPropertyTarget constraint of '<em>Rel Pattern Edge</em>'.
+ * Validates the validateCompatibleEAttributePropertyTarget constraint of '<em>Rel Pattern Edge</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternEdge_CompatibleRestPropertyTarget(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "CompatibleRestPropertyTarget", getObjectLabel(relPatternEdge, context) },
- new Object[] { relPatternEdge },
- context));
- }
- return false;
- }
- return true;
+ public boolean validateRelPatternEdge_validateCompatibleEAttributePropertyTarget(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relPatternEdge.validateCompatibleEAttributePropertyTarget(diagnostics, context);
}
/**
- * Validates the validateCompatibleMemberPropertyTarget constraint of '<em>Rel Pattern Edge</em>'.
+ * Validates the validateCompatibleSourceMultiplicity constraint of '<em>Rel Pattern Edge</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternEdge_validateCompatibleMemberPropertyTarget(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return relPatternEdge.validateCompatibleMemberPropertyTarget(diagnostics, context);
+ public boolean validateRelPatternEdge_validateCompatibleSourceMultiplicity(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relPatternEdge.validateCompatibleSourceMultiplicity(diagnostics, context);
}
/**
- * Validates the validateSourceIsClassNode constraint of '<em>Rel Pattern Edge</em>'.
+ * Validates the validateCompatibleEReferencePropertyTarget constraint of '<em>Rel Pattern Edge</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternEdge_validateSourceIsClassNode(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return relPatternEdge.validateSourceIsClassNode(diagnostics, context);
+ public boolean validateRelPatternEdge_validateCompatibleEReferencePropertyTarget(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relPatternEdge.validateCompatibleEReferencePropertyTarget(diagnostics, context);
}
/**
- * Validates the validateSourceIsEClass constraint of '<em>Rel Pattern Edge</em>'.
+ * Validates the validateCompatiblePropertySource constraint of '<em>Rel Pattern Edge</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternEdge_validateSourceIsEClass(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return relPatternEdge.validateSourceIsEClass(diagnostics, context);
+ public boolean validateRelPatternEdge_validateCompatiblePropertySource(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relPatternEdge.validateCompatiblePropertySource(diagnostics, context);
}
/**
@@ -894,61 +595,54 @@ public class UMLXValidator extends EObjectValidator {
}
/**
- * Validates the validateCompatibleEAttributePropertyTarget constraint of '<em>Rel Pattern Edge</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternEdge_validateCompatibleEAttributePropertyTarget(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return relPatternEdge.validateCompatibleEAttributePropertyTarget(diagnostics, context);
- }
-
- /**
- * Validates the validateCompatiblePropertySource constraint of '<em>Rel Pattern Edge</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternEdge_validateCompatiblePropertySource(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return relPatternEdge.validateCompatiblePropertySource(diagnostics, context);
+ public boolean validateRelPatternNode(RelPatternNode relPatternNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(relPatternNode, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(relPatternNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(relPatternNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(relPatternNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(relPatternNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(relPatternNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(relPatternNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(relPatternNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(relPatternNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validateRelPatternNode_validateEClassifierIsInTypedModel(relPatternNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validateRelPatternNode_validateAnonIsUnnamed(relPatternNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validateRelPatternNode_validateTypeIsRequired(relPatternNode, diagnostics, context);
+ return result;
}
/**
- * Validates the validateCompatibleSourceMultiplicity constraint of '<em>Rel Pattern Edge</em>'.
+ * Validates the validateEClassifierIsInTypedModel constraint of '<em>Rel Pattern Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternEdge_validateCompatibleSourceMultiplicity(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return relPatternEdge.validateCompatibleSourceMultiplicity(diagnostics, context);
+ public boolean validateRelPatternNode_validateEClassifierIsInTypedModel(RelPatternNode relPatternNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relPatternNode.validateEClassifierIsInTypedModel(diagnostics, context);
}
/**
- * Validates the validateCompatibleEReferencePropertyTarget constraint of '<em>Rel Pattern Edge</em>'.
+ * Validates the validateAnonIsUnnamed constraint of '<em>Rel Pattern Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternEdge_validateCompatibleEReferencePropertyTarget(RelPatternEdge relPatternEdge, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return relPatternEdge.validateCompatibleEReferencePropertyTarget(diagnostics, context);
+ public boolean validateRelPatternNode_validateAnonIsUnnamed(RelPatternNode relPatternNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relPatternNode.validateAnonIsUnnamed(diagnostics, context);
}
/**
+ * Validates the validateTypeIsRequired constraint of '<em>Rel Pattern Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateRelPatternExpressionNode(RelPatternExpressionNode relPatternExpressionNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return validate_EveryDefaultConstraint(relPatternExpressionNode, diagnostics, context);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateRelPatternNode(RelPatternNode relPatternNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return validate_EveryDefaultConstraint(relPatternNode, diagnostics, context);
+ public boolean validateRelPatternNode_validateTypeIsRequired(RelPatternNode relPatternNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relPatternNode.validateTypeIsRequired(diagnostics, context);
}
/**
@@ -966,97 +660,31 @@ public class UMLXValidator extends EObjectValidator {
if (result || diagnostics != null) result &= validate_UniqueID(txDiagram, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryKeyUnique(txDiagram, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(txDiagram, diagnostics, context);
- if (result || diagnostics != null) result &= validateTxDiagram_RelDiagramNamesAreUnique(txDiagram, diagnostics, context);
- if (result || diagnostics != null) result &= validateTxDiagram_TxQueryNodeNamesAreUnique(txDiagram, diagnostics, context);
- if (result || diagnostics != null) result &= validateTxDiagram_TxTypedModelNodeNamesAreUnique(txDiagram, diagnostics, context);
if (result || diagnostics != null) result &= validateTxDiagram_validateTxTypedModelNodeNamesAreUnique(txDiagram, diagnostics, context);
if (result || diagnostics != null) result &= validateTxDiagram_validateTxQueryNodeNamesAreUnique(txDiagram, diagnostics, context);
if (result || diagnostics != null) result &= validateTxDiagram_validateRelDiagramNamesAreUnique(txDiagram, diagnostics, context);
+ if (result || diagnostics != null) result &= validateTxDiagram_validateNameIsRequired(txDiagram, diagnostics, context);
return result;
}
/**
- * Validates the RelDiagramNamesAreUnique constraint of '<em>Tx Diagram</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateTxDiagram_RelDiagramNamesAreUnique(TxDiagram txDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "RelDiagramNamesAreUnique", getObjectLabel(txDiagram, context) },
- new Object[] { txDiagram },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
- * Validates the TxQueryNodeNamesAreUnique constraint of '<em>Tx Diagram</em>'.
+ * Validates the validateTxTypedModelNodeNamesAreUnique constraint of '<em>Tx Diagram</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateTxDiagram_TxQueryNodeNamesAreUnique(TxDiagram txDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "TxQueryNodeNamesAreUnique", getObjectLabel(txDiagram, context) },
- new Object[] { txDiagram },
- context));
- }
- return false;
- }
- return true;
+ public boolean validateTxDiagram_validateTxTypedModelNodeNamesAreUnique(TxDiagram txDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return txDiagram.validateTxTypedModelNodeNamesAreUnique(diagnostics, context);
}
/**
- * Validates the TxTypedModelNodeNamesAreUnique constraint of '<em>Tx Diagram</em>'.
+ * Validates the validateTxQueryNodeNamesAreUnique constraint of '<em>Tx Diagram</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateTxDiagram_TxTypedModelNodeNamesAreUnique(TxDiagram txDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "TxTypedModelNodeNamesAreUnique", getObjectLabel(txDiagram, context) },
- new Object[] { txDiagram },
- context));
- }
- return false;
- }
- return true;
+ public boolean validateTxDiagram_validateTxQueryNodeNamesAreUnique(TxDiagram txDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return txDiagram.validateTxQueryNodeNamesAreUnique(diagnostics, context);
}
/**
@@ -1070,32 +698,42 @@ public class UMLXValidator extends EObjectValidator {
}
/**
- * Validates the validateTxTypedModelNodeNamesAreUnique constraint of '<em>Tx Diagram</em>'.
+ * Validates the validateNameIsRequired constraint of '<em>Tx Diagram</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateTxDiagram_validateTxTypedModelNodeNamesAreUnique(TxDiagram txDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return txDiagram.validateTxTypedModelNodeNamesAreUnique(diagnostics, context);
+ public boolean validateTxDiagram_validateNameIsRequired(TxDiagram txDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return txDiagram.validateNameIsRequired(diagnostics, context);
}
/**
- * Validates the validateTxQueryNodeNamesAreUnique constraint of '<em>Tx Diagram</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateTxDiagram_validateTxQueryNodeNamesAreUnique(TxDiagram txDiagram, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return txDiagram.validateTxQueryNodeNamesAreUnique(diagnostics, context);
+ public boolean validateTxImportNode(TxImportNode txImportNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(txImportNode, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(txImportNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(txImportNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(txImportNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(txImportNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(txImportNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(txImportNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(txImportNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(txImportNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validateTxImportNode_validateNameIsRequired(txImportNode, diagnostics, context);
+ return result;
}
/**
+ * Validates the validateNameIsRequired constraint of '<em>Tx Import Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateTxImportNode(TxImportNode txImportNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return validate_EveryDefaultConstraint(txImportNode, diagnostics, context);
+ public boolean validateTxImportNode_validateNameIsRequired(TxImportNode txImportNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return txImportNode.validateNameIsRequired(diagnostics, context);
}
/**
@@ -1113,40 +751,11 @@ public class UMLXValidator extends EObjectValidator {
if (result || diagnostics != null) result &= validate_UniqueID(txKeyNode, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryKeyUnique(txKeyNode, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(txKeyNode, diagnostics, context);
- if (result || diagnostics != null) result &= validateTxKeyNode_PartsAreUnique(txKeyNode, diagnostics, context);
if (result || diagnostics != null) result &= validateTxKeyNode_validatePartsAreUnique(txKeyNode, diagnostics, context);
return result;
}
/**
- * Validates the PartsAreUnique constraint of '<em>Tx Key Node</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateTxKeyNode_PartsAreUnique(TxKeyNode txKeyNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "PartsAreUnique", getObjectLabel(txKeyNode, context) },
- new Object[] { txKeyNode },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
* Validates the validatePartsAreUnique constraint of '<em>Tx Key Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1180,7 +789,38 @@ public class UMLXValidator extends EObjectValidator {
* @generated
*/
public boolean validateTxParameterNode(TxParameterNode txParameterNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return validate_EveryDefaultConstraint(txParameterNode, diagnostics, context);
+ if (!validate_NoCircularContainment(txParameterNode, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(txParameterNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(txParameterNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(txParameterNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(txParameterNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(txParameterNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(txParameterNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(txParameterNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(txParameterNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validateTxParameterNode_validateTypeIsRequired(txParameterNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validateTxParameterNode_validateNameIsRequired(txParameterNode, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the validateTypeIsRequired constraint of '<em>Tx Parameter Node</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTxParameterNode_validateTypeIsRequired(TxParameterNode txParameterNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return txParameterNode.validateTypeIsRequired(diagnostics, context);
+ }
+
+ /**
+ * Validates the validateNameIsRequired constraint of '<em>Tx Parameter Node</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTxParameterNode_validateNameIsRequired(TxParameterNode txParameterNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return txParameterNode.validateNameIsRequired(diagnostics, context);
}
/**
@@ -1198,40 +838,11 @@ public class UMLXValidator extends EObjectValidator {
if (result || diagnostics != null) result &= validate_UniqueID(txPartNode, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryKeyUnique(txPartNode, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(txPartNode, diagnostics, context);
- if (result || diagnostics != null) result &= validateTxPartNode_PartIsPropertyOfKey(txPartNode, diagnostics, context);
if (result || diagnostics != null) result &= validateTxPartNode_validatePartIsPropertyOfKey(txPartNode, diagnostics, context);
return result;
}
/**
- * Validates the PartIsPropertyOfKey constraint of '<em>Tx Part Node</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean validateTxPartNode_PartIsPropertyOfKey(TxPartNode txPartNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "PartIsPropertyOfKey", getObjectLabel(txPartNode, context) },
- new Object[] { txPartNode },
- context));
- }
- return false;
- }
- return true;
- }
-
- /**
* Validates the validatePartIsPropertyOfKey constraint of '<em>Tx Part Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1256,47 +867,40 @@ public class UMLXValidator extends EObjectValidator {
if (result || diagnostics != null) result &= validate_UniqueID(txQueryNode, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryKeyUnique(txQueryNode, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(txQueryNode, diagnostics, context);
- if (result || diagnostics != null) result &= validateTxQueryNode_ParametersAreUnique(txQueryNode, diagnostics, context);
if (result || diagnostics != null) result &= validateTxQueryNode_validateParametersAreUnique(txQueryNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validateTxQueryNode_validateNameIsRequired(txQueryNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validateTxQueryNode_validateTypeIsRequired(txQueryNode, diagnostics, context);
return result;
}
/**
- * Validates the ParametersAreUnique constraint of '<em>Tx Query Node</em>'.
+ * Validates the validateParametersAreUnique constraint of '<em>Tx Query Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateTxQueryNode_ParametersAreUnique(TxQueryNode txQueryNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "ParametersAreUnique", getObjectLabel(txQueryNode, context) },
- new Object[] { txQueryNode },
- context));
- }
- return false;
- }
- return true;
+ public boolean validateTxQueryNode_validateParametersAreUnique(TxQueryNode txQueryNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return txQueryNode.validateParametersAreUnique(diagnostics, context);
}
/**
- * Validates the validateParametersAreUnique constraint of '<em>Tx Query Node</em>'.
+ * Validates the validateNameIsRequired constraint of '<em>Tx Query Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateTxQueryNode_validateParametersAreUnique(TxQueryNode txQueryNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return txQueryNode.validateParametersAreUnique(diagnostics, context);
+ public boolean validateTxQueryNode_validateNameIsRequired(TxQueryNode txQueryNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return txQueryNode.validateNameIsRequired(diagnostics, context);
+ }
+
+ /**
+ * Validates the validateTypeIsRequired constraint of '<em>Tx Query Node</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTxQueryNode_validateTypeIsRequired(TxQueryNode txQueryNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return txQueryNode.validateTypeIsRequired(diagnostics, context);
}
/**
@@ -1314,37 +918,19 @@ public class UMLXValidator extends EObjectValidator {
if (result || diagnostics != null) result &= validate_UniqueID(txTypedModelNode, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryKeyUnique(txTypedModelNode, diagnostics, context);
if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(txTypedModelNode, diagnostics, context);
- if (result || diagnostics != null) result &= validateTxTypedModelNode_TxPackageNodePackagesAreUnique(txTypedModelNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validateTxTypedModelNode_validateNameIsRequired(txTypedModelNode, diagnostics, context);
if (result || diagnostics != null) result &= validateTxTypedModelNode_validateTxPackageNodePackagesAreUnique(txTypedModelNode, diagnostics, context);
return result;
}
/**
- * Validates the TxPackageNodePackagesAreUnique constraint of '<em>Tx Typed Model Node</em>'.
+ * Validates the validateNameIsRequired constraint of '<em>Tx Typed Model Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public boolean validateTxTypedModelNode_TxPackageNodePackagesAreUnique(TxTypedModelNode txTypedModelNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
- // TODO implement the constraint
- // -> specify the condition that violates the constraint
- // -> verify the diagnostic details, including severity, code, and message
- // Ensure that you remove @generated or mark it @generated NOT
- if (false) {
- if (diagnostics != null) {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0,
- "_UI_GenericConstraint_diagnostic",
- new Object[] { "TxPackageNodePackagesAreUnique", getObjectLabel(txTypedModelNode, context) },
- new Object[] { txTypedModelNode },
- context));
- }
- return false;
- }
- return true;
+ public boolean validateTxTypedModelNode_validateNameIsRequired(TxTypedModelNode txTypedModelNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return txTypedModelNode.validateNameIsRequired(diagnostics, context);
}
/**
diff --git a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXVisitor.java b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXVisitor.java
index 491b4253b..13ac4f5f3 100644
--- a/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXVisitor.java
+++ b/plugins/org.eclipse.qvtd.umlx/emf-gen/org/eclipse/qvtd/umlx/util/UMLXVisitor.java
@@ -47,9 +47,7 @@ public interface UMLXVisitor<R>
R visitRelInvocationEdge(org.eclipse.qvtd.umlx.@NonNull RelInvocationEdge object);
R visitRelInvocationNode(org.eclipse.qvtd.umlx.@NonNull RelInvocationNode object);
R visitRelNode(org.eclipse.qvtd.umlx.@NonNull RelNode object);
- R visitRelPatternClassNode(org.eclipse.qvtd.umlx.@NonNull RelPatternClassNode object);
R visitRelPatternEdge(org.eclipse.qvtd.umlx.@NonNull RelPatternEdge object);
- R visitRelPatternExpressionNode(org.eclipse.qvtd.umlx.@NonNull RelPatternExpressionNode object);
R visitRelPatternNode(org.eclipse.qvtd.umlx.@NonNull RelPatternNode object);
R visitTxDiagram(org.eclipse.qvtd.umlx.@NonNull TxDiagram object);
R visitTxImportNode(org.eclipse.qvtd.umlx.@NonNull TxImportNode object);
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtbase/emf-gen/org/eclipse/qvtd/xtext/qvtbasecs/util/QVTbaseCSAdapterFactory.java b/plugins/org.eclipse.qvtd.xtext.qvtbase/emf-gen/org/eclipse/qvtd/xtext/qvtbasecs/util/QVTbaseCSAdapterFactory.java
index 4a2b02c09..5111317a8 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtbase/emf-gen/org/eclipse/qvtd/xtext/qvtbasecs/util/QVTbaseCSAdapterFactory.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtbase/emf-gen/org/eclipse/qvtd/xtext/qvtbasecs/util/QVTbaseCSAdapterFactory.java
@@ -28,7 +28,6 @@ import org.eclipse.ocl.xtext.basecs.PivotableElementCS;
import org.eclipse.ocl.xtext.basecs.TemplateableElementCS;
import org.eclipse.ocl.xtext.basecs.TypeCS;
import org.eclipse.ocl.xtext.basecs.util.VisitableCS;
-import org.eclipse.qvtd.xtext.qvtbasecs.*;
import org.eclipse.qvtd.xtext.qvtbasecs.AbstractTransformationCS;
import org.eclipse.qvtd.xtext.qvtbasecs.QVTbaseCSPackage;
import org.eclipse.qvtd.xtext.qvtbasecs.QualifiedPackageCS;
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtbase/emf-gen/org/eclipse/qvtd/xtext/qvtbasecs/util/QVTbaseCSSwitch.java b/plugins/org.eclipse.qvtd.xtext.qvtbase/emf-gen/org/eclipse/qvtd/xtext/qvtbasecs/util/QVTbaseCSSwitch.java
index cbac85145..668562d50 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtbase/emf-gen/org/eclipse/qvtd/xtext/qvtbasecs/util/QVTbaseCSSwitch.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtbase/emf-gen/org/eclipse/qvtd/xtext/qvtbasecs/util/QVTbaseCSSwitch.java
@@ -27,7 +27,6 @@ import org.eclipse.ocl.xtext.basecs.PivotableElementCS;
import org.eclipse.ocl.xtext.basecs.TemplateableElementCS;
import org.eclipse.ocl.xtext.basecs.TypeCS;
import org.eclipse.ocl.xtext.basecs.util.VisitableCS;
-import org.eclipse.qvtd.xtext.qvtbasecs.*;
import org.eclipse.qvtd.xtext.qvtbasecs.AbstractTransformationCS;
import org.eclipse.qvtd.xtext.qvtbasecs.QVTbaseCSPackage;
import org.eclipse.qvtd.xtext.qvtbasecs.QualifiedPackageCS;
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcs/AbstractDomainCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcs/AbstractDomainCS.java
index d62489d46..826e57227 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcs/AbstractDomainCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcs/AbstractDomainCS.java
@@ -10,7 +10,6 @@
*******************************************************************************/
package org.eclipse.qvtd.xtext.qvtrelationcs;
-import org.eclipse.ocl.pivot.utilities.Nameable;
import org.eclipse.ocl.xtext.basecs.ModelElementCS;
/**

Back to the top