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/SequenceConstructionExpression.java')
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceConstructionExpression.java311
1 files changed, 311 insertions, 0 deletions
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceConstructionExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceConstructionExpression.java
new file mode 100644
index 00000000000..74ac611aa05
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceConstructionExpression.java
@@ -0,0 +1,311 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+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>Sequence Construction Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to construct a sequence of values.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getElements <em>Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isHasMultiplicity <em>Has Multiplicity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isIsAny <em>Is Any</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceConstructionExpression()
+ * @model
+ * @generated
+ */
+public interface SequenceConstructionExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The specification of the elements in the sequence.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Elements</em>' containment reference.
+ * @see #setElements(SequenceElements)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceConstructionExpression_Elements()
+ * @model containment="true"
+ * @generated
+ */
+ SequenceElements getElements();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getElements <em>Elements</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Elements</em>' containment reference.
+ * @see #getElements()
+ * @generated
+ */
+ void setElements(SequenceElements value);
+
+ /**
+ * Returns the value of the '<em><b>Has Multiplicity</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the sequence construction expression has a multiplicity indicator.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Has Multiplicity</em>' attribute.
+ * @see #setHasMultiplicity(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceConstructionExpression_HasMultiplicity()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isHasMultiplicity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isHasMultiplicity <em>Has Multiplicity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Has Multiplicity</em>' attribute.
+ * @see #isHasMultiplicity()
+ * @generated
+ */
+ void setHasMultiplicity(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the type of the elements in the sequence.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type Name</em>' containment reference.
+ * @see #setTypeName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceConstructionExpression_TypeName()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getTypeName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getTypeName <em>Type Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type Name</em>' containment reference.
+ * @see #getTypeName()
+ * @generated
+ */
+ void setTypeName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the sequence construction expression has an empty type.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Any</em>' attribute.
+ * @see #setIsAny(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceConstructionExpression_IsAny()
+ * @model
+ * @generated
+ */
+ boolean isIsAny();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isIsAny <em>Is Any</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Any</em>' attribute.
+ * @see #isIsAny()
+ * @generated
+ */
+ void setIsAny(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If this expression is contained in the element list of a sequence
+ * construction expression with a collection type, then return that type
+ * name. Otherwise return null.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.enclosingExpression() in\n if expression = null or \n not expression.oclIsKindOf(SequenceConstructionExpression) then \n null\n else\n let sequenceExpression = \n expression.oclAsType(SequenceConstructionExpression) \n in\n if sequenceExpression.hasMultiplicity then null\n else sequenceExpression.type\n endif\n endif'"
+ * @generated
+ */
+ ElementReference collectionType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.typeName <> null then\n let referents = self.typeName.referent->select(isClassifier()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif\n else\n let collectionType = self.collectionType() in\n if collectionType = null then null\n else collectionType.collectionArgument()\n endif\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.hasMultiplicity then 1\n else if self.elements = null then 0 \n else self.elements.upper\n endif endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.hasMultiplicity then 1\n else if self.elements = null then 0 \n else self.elements.lower\n endif endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the type name of a sequence construction expression is not empty,
+ * then the type of the expression is the classifier to which the type name
+ * resolves.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceConstructionExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a sequence construction expression has multiplicity, then its
+ * multiplicity upper bound is given by its elements, if this is not empty,
+ * and zero otherwise. If a sequence construction expression does not have
+ * multiplicity, then its multiplicity upper bound is one.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceConstructionExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a sequence construction expression has multiplicity, then its
+ * multiplicity lower bound is given by its elements, if this is not empty,
+ * and zero otherwise. If a sequence construction expression does not have
+ * multiplicity, then its multiplicity lower bound is one.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceConstructionExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the type name of a sequence construction expression is not empty, then
+ * it must resolve to a non-template classifier. If the expression does not
+ * have multiplicity, then the type name must not be empty and the
+ * classifier to which it resolves must be the instantiation of a collection
+ * class.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n (self.typeName <> null implies self.type <> null) and\n (not self.hasMultiplicity implies \n self.type <> null and self.isCollectionClass(self.type)\n )'"
+ * @generated
+ */
+ boolean sequenceConstructionExpressionType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the elements of a sequence construction expression are given by a
+ * sequence range, then the expression must have type Integer. If the
+ * elements are given by a sequence element list, and the sequence
+ * construction expression has a non-empty type, then each expression in the
+ * list must have a type that either conforms to the type of the sequence
+ * construction expression or is convertible to it by bit string conversion.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.elements <> null implies \n let type =\n if self.hasMultiplicity or self.type = null then self.type\n else self.type.collectionArgument() \n endif\n in\n self.elements.conformsTo(type)'"
+ * @generated
+ */
+ boolean sequenceConstructionExpressionElementType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the elements of a sequence construction expression are given by a
+ * sequence expression list, then the assignments before the first
+ * expression in the list are the same as the assignments before the
+ * sequence construction expression, and the assignments before each
+ * subsequent expression are the assignments after the previous expression.
+ * If the elements are given by a sequence range, the assignments before
+ * both expressions in the range are the same as the assignments before the
+ * sequence construction expression.
+ * (See the SyntaxElement::assignmentsBefore(element) operation. See also
+ * the SequenceExpressionList::assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceConstructionExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the elements of the sequence construction expression are given by a
+ * sequence expression list, then return the assignments after the last
+ * expression in the list (if the list is empty, then return the assignments
+ * before the sequence construction expression). If the elements are given
+ * by a sequence range, then return the union of the assignments after each
+ * of the expressions in the range.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.elements = null then self.assignmentBefore\n else self.elements.assignmentsAfter()\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // SequenceConstructionExpression

Back to the top