Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceAccessExpressionImpl.java')
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceAccessExpressionImpl.java415
1 files changed, 415 insertions, 0 deletions
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceAccessExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceAccessExpressionImpl.java
new file mode 100644
index 00000000000..e86c4ab3638
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceAccessExpressionImpl.java
@@ -0,0 +1,415 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.SequenceAccessExpression;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Access Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceAccessExpressionImpl#getPrimary <em>Primary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceAccessExpressionImpl#getIndex <em>Index</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SequenceAccessExpressionImpl extends ExpressionImpl implements SequenceAccessExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SequenceAccessExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSequenceAccessExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getPrimary() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getSequenceAccessExpression_Primary(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPrimary(Expression newPrimary) {
+ eSet(AlfPackage.eINSTANCE.getSequenceAccessExpression_Primary(), newPrimary);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getIndex() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getSequenceAccessExpression_Index(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIndex(Expression newIndex) {
+ eSet(AlfPackage.eINSTANCE.getSequenceAccessExpression_Index(), newIndex);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceAccessExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceAccessExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceAccessExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceAccessExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceAccessExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceAccessExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceAccessExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceAccessExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceAccessExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceAccessExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceAccessExpressionIndexType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Access Expression Index Type</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceAccessExpressionIndexType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_ACCESS_EXPRESSION_INDEX_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let type = self.index.type in\n" +
+ " type <> null and self.isIntegerType(type)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceAccessExpressionIndexType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceAccessExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceAccessExpression__SequenceAccessExpressionIndexType__DiagnosticChain_Map(),
+ SEQUENCE_ACCESS_EXPRESSION_INDEX_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_INDEX_TYPE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceAccessExpressionIndexMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Access Expression Index Multiplicity</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceAccessExpressionIndexMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_ACCESS_EXPRESSION_INDEX_MULTIPLICITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.index.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceAccessExpressionIndexMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceAccessExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceAccessExpression__SequenceAccessExpressionIndexMultiplicity__DiagnosticChain_Map(),
+ SEQUENCE_ACCESS_EXPRESSION_INDEX_MULTIPLICITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_INDEX_MULTIPLICITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.SEQUENCE_ACCESS_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.SEQUENCE_ACCESS_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.SEQUENCE_ACCESS_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.SEQUENCE_ACCESS_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceAccessExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceAccessExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceAccessExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_INDEX_TYPE__DIAGNOSTICCHAIN_MAP:
+ return sequenceAccessExpressionIndexType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_INDEX_MULTIPLICITY__DIAGNOSTICCHAIN_MAP:
+ return sequenceAccessExpressionIndexMultiplicity((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SequenceAccessExpressionImpl

Back to the top