diff options
Diffstat (limited to 'plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierDefinition.java')
-rw-r--r-- | plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierDefinition.java | 228 |
1 files changed, 228 insertions, 0 deletions
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierDefinition.java new file mode 100644 index 00000000000..8c051836212 --- /dev/null +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierDefinition.java @@ -0,0 +1,228 @@ +/** + */ +package org.eclipse.papyrus.uml.alf; + +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>Classifier Definition</b></em>'. + * <!-- end-user-doc --> + * + * <!-- begin-model-doc --> + * The definition of a classifier. + * <!-- end-model-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#isIsAbstract <em>Is Abstract</em>}</li> + * <li>{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#getSpecialization <em>Specialization</em>}</li> + * <li>{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#getSpecializationReferent <em>Specialization Referent</em>}</li> + * </ul> + * + * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifierDefinition() + * @model abstract="true" + * @generated + */ +public interface ClassifierDefinition extends NamespaceDefinition { + /** + * Returns the value of the '<em><b>Is Abstract</b></em>' attribute. + * The default value is <code>"false"</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * Whether the classifier is abstract or not. + * <!-- end-model-doc --> + * + * @return the value of the '<em>Is Abstract</em>' attribute. + * @see #setIsAbstract(boolean) + * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifierDefinition_IsAbstract() + * @model default="false" required="true" + * @generated + */ + boolean isIsAbstract(); + + /** + * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#isIsAbstract <em>Is Abstract</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @param value + * the new value of the '<em>Is Abstract</em>' attribute. + * @see #isIsAbstract() + * @generated + */ + void setIsAbstract(boolean value); + + /** + * Returns the value of the '<em><b>Specialization</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * The names of classifiers specialized by the classifier being defined. + * <!-- end-model-doc --> + * + * @return the value of the '<em>Specialization</em>' containment reference. + * @see #setSpecialization(QualifiedNameList) + * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifierDefinition_Specialization() + * @model containment="true" + * @generated + */ + QualifiedNameList getSpecialization(); + + /** + * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#getSpecialization <em>Specialization</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @param value + * the new value of the '<em>Specialization</em>' containment reference. + * @see #getSpecialization() + * @generated + */ + void setSpecialization(QualifiedNameList value); + + /** + * Returns the value of the '<em><b>Specialization Referent</b></em>' reference list. + * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * References to the classifiers to which the names in the specialization list resolve. + * <!-- end-model-doc --> + * + * @return the value of the '<em>Specialization Referent</em>' reference list. + * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifierDefinition_SpecializationReferent() + * @model transient="true" volatile="true" derived="true" + * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.specialization = null then OrderedSet{}\n else self.specialization.name.referent->asOrderedSet()\n endif'" + * @generated + */ + EList<ElementReference> getSpecializationReferent(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @model required="true" annotationRequired="true" + * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='NamespaceDefinition_annotationAllowed(annotation)'" + * @generated + */ + boolean ClassifierDefinition_annotationAllowed(StereotypeAnnotation annotation); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * The namespace definition associated with the given unit definition must + * be a classifier definition. The subunit classifier definition may be abstract + * if and only if the subunit classifier definition is abstract. The subunit + * classifier definition must have the same specialization referents as the + * stub classifier definition. (Note that it is the referents that must match, + * not the exact names or the ordering of those names in the specialization list.) + * The subunit classifier definition must also have a matching classifier + * template parameter for each classifier template parameter of the stub classifier + * definition. Two template parameters match if they have same names and the same + * specialization referents. + * <!-- end-model-doc --> + * + * @model required="true" unitRequired="true" + * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='ClassifierDefinition_matchForStub(unit)'" + * @generated + */ + boolean matchForStub(UnitDefinition unit); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @model required="true" unitRequired="true" + * annotation= + * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n unit.definition.oclIsKindOf(ClassifierDefinition) and\n let classifier = unit.definition.oclAsType(ClassifierDefinition) in\n classifier.isAbstract = self.isAbstract and\n classifier.specializationReferent->size() = self.specializationReferent->size() and\n classifier.specializationReferent->forAll(containedIn(self.specializationReferent->asBag())) and\n classifier.templateParameters()->size() = self.templateParameters()->size() and\n Sequence{1..classifier.templateParameters()->size()}->forAll(i |\n classifier.templateParameters()->at(i).matches(self.templateParameters()->at(i))\n )'" + * @generated + */ + boolean ClassifierDefinition_matchForStub(UnitDefinition unit); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * Returns the members of a classifier definition including its inherited members. + * <!-- end-model-doc --> + * + * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.NamespaceDefinition_members()->\n includingAll(self.inheritedMembers())->asOrderedSet()'" + * @generated + */ + EList<Member> members(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * Returns all of the inherited members of this classifier definition. + * <!-- end-model-doc --> + * + * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.inherit(\n self.specializationReferent.members()->select(visibility() <> \'private\').\n asMember()->asOrderedSet()\n )'" + * @generated + */ + EList<Member> inheritedMembers(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * Define how to inherit a set of members. Here the operation is defined to inherit them all. + * It is intended to be redefined in circumstances where inheritance is affected by redefinition. + * <!-- end-model-doc --> + * + * @model membersMany="true" + * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='members'" + * @generated + */ + EList<Member> inherit(EList<Member> members); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * Each name listed in the specialization list for a classifier definition must + * have a single classifier referent. None of these referents may be templates. + * <!-- end-model-doc --> + * + * @model annotation= + * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.specialization = null or\n self.specialization.name->forAll(\n referent->size() = 1 and\n referent->forAll(isClassifier() and not isTemplate())\n )'" + * @generated + */ + boolean classifierDefinitionSpecialization(DiagnosticChain diagnostics, Map<Object, Object> context); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * The specialization referents of a classifier definition are the classifiers denoted by the + * names in the specialization list for the classifier definition. + * <!-- end-model-doc --> + * + * @model + * @generated + */ + boolean classifierDefinitionSpecializationReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * The members of a classifier definition include non-private members inherited from the classifiers it specializes. + * The visibility of inherited members is as specified in the UML Superstructure, Subclause 7.3.8. + * <!-- end-model-doc --> + * + * @model + * @generated + */ + boolean classifierDefinitionInheritedMembers(DiagnosticChain diagnostics, Map<Object, Object> context); + +} // ClassifierDefinition |