Package com.sodius.mdw.metamodel.uml21
Interface Association
-
- All Superinterfaces:
Classifier,Comparable<Object>,Element,org.eclipse.emf.ecore.EModelElement,org.eclipse.emf.ecore.EObject,MDWEObject,MDWObject,NamedElement,Namespace,org.eclipse.emf.common.notify.Notifier,PackageableElement,ParameterableElement,RedefinableElement,Relationship,TemplateableElement,Type
- All Known Subinterfaces:
AssociationClass,CommunicationPath,Extension
public interface Association extends Classifier, Relationship
A representation of the model object 'Association'. An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link.The following features are supported:
- See Also:
UMLPackage.getAssociation()
-
-
Field Summary
-
Fields inherited from interface com.sodius.mdw.metamodel.uml21.NamedElement
SEPARATOR
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description PropertycreateNavigableOwnedEnd(String name, Type type)Creates a newProperty, with the specified 'Name', and 'Type', and appends it to the 'Navigable Owned End' reference list.PropertycreateNavigableOwnedEnd(String name, Type type, org.eclipse.emf.ecore.EClass eClass)Creates a newProperty, with the specified 'Name', and 'Type', and appends it to the 'Navigable Owned End' reference list.PropertycreateOwnedEnd(String name, Type type)Creates a newProperty, with the specified 'Name', and 'Type', and appends it to the 'Owned End' containment reference list.PropertycreateOwnedEnd(String name, Type type, org.eclipse.emf.ecore.EClass eClass)Creates a newProperty, with the specified 'Name', and 'Type', and appends it to the 'Owned End' containment reference list.TypegetEndType(String name)Retrieves the firstTypewith the specified 'Name' from the 'End Type' reference list.TypegetEndType(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)Retrieves the firstTypewith the specified 'Name' from the 'End Type' reference list.MDWEList<Type>getEndTypes()Returns the value of the 'End Type' reference list.PropertygetMemberEnd(String name, Type type)Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Member End' reference list.PropertygetMemberEnd(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Member End' reference list.MDWEList<Property>getMemberEnds()Returns the value of the 'Member End' reference list.PropertygetNavigableOwnedEnd(String name, Type type)Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Navigable Owned End' reference list.PropertygetNavigableOwnedEnd(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Navigable Owned End' reference list.MDWEList<Property>getNavigableOwnedEnds()Returns the value of the 'Navigable Owned End' reference list.PropertygetOwnedEnd(String name, Type type)Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Owned End' containment reference list.PropertygetOwnedEnd(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Owned End' containment reference list.MDWEList<Property>getOwnedEnds()Returns the value of the 'Owned End' containment reference list.booleanisBinary()Determines whether this association is a binary association, i.e.booleanisDerived()Returns the value of the 'Is Derived' attribute.voidsetIsDerived(boolean value)Sets the value of the 'Is Derived' attribute.booleanvalidateAssociationEnds(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)Association ends of associations with more than two ends must be owned by the association.booleanvalidateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)Only binary associations can be aggregations.booleanvalidateSpecializedEndNumber(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)An association specializing another association has the same number of ends as the other association.booleanvalidateSpecializedEndTypes(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)When an association specializes another association, every end of the specific association corresponds to an end of the general association, and the specific end reaches the same type or a subtype of the more general end.-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Classifier
allFeatures, allParents, conformsTo, createCollaborationUse, createGeneralization, createOwnedUseCase, createRepresentation, createSubstitution, getAllAttributes, getAllOperations, getAllUsedInterfaces, getAttribute, getAttribute, getAttributes, getCollaborationUse, getCollaborationUse, getCollaborationUses, getFeature, getFeature, getFeatures, getGeneral, getGeneral, getGeneralization, getGeneralization, getGeneralizations, getGenerals, getInheritedMember, getInheritedMember, getInheritedMembers, getOperation, getOperation, getOperations, getOwnedUseCase, getOwnedUseCase, getOwnedUseCases, getPowertypeExtent, getPowertypeExtent, getPowertypeExtents, getRedefinedClassifier, getRedefinedClassifier, getRedefinedClassifiers, getRepresentation, getSubstitution, getSubstitution, getSubstitutions, getUseCase, getUseCase, getUseCases, getUsedInterfaces, hasVisibilityOf, inherit, inheritableMembers, isAbstract, isFinalSpecialization, maySpecializeType, parents, setIsAbstract, setIsFinalSpecialization, setRepresentation, validateGeneralizationHierarchies, validateMapsToGeneralizationSet, validateNoCyclesInGeneralization, validateSpecializeType
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Element
addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf
-
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotation, getEAnnotations
-
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
-
Methods inherited from interface com.sodius.mdw.core.model.MDWObject
compareTo, eExtendedClass, eIsInstanceOf, eIsInstanceOf, eIsProfiled, eIsRemoved, eMetamodel, eMetaTypeName, eModel, eRemove, eSetUniqueID, eUniqueID, superScript, superScript, toBoolean, toBoolean, toByte, toByte, toChar, toChar, toDouble, toDouble, toFloat, toFloat, toInt, toInt, toList, toList, toList, toList, toList, toLong, toLong, toObject, toObject, toSet, toSet, toShort, toShort, toString, toString
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.NamedElement
allNamespaces, allOwningPackages, createDependency, createNameExpression, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Namespace
createElementImport, createElementImport, createOwnedDiagram, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedDiagrams, getOwnedDiagrams, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateMembersDistinguishable
-
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.ParameterableElement
getOwningTemplateParameter, getTemplateParameter, isCompatibleWith, isTemplateParameter, setOwningTemplateParameter, setTemplateParameter
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Relationship
getRelatedElements
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.TemplateableElement
createOwnedTemplateSignature, createOwnedTemplateSignature, createTemplateBinding, getOwnedTemplateSignature, getTemplateBinding, getTemplateBinding, getTemplateBindings, isTemplate, parameterableElements, setOwnedTemplateSignature
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Type
conformsTo, createAssociation, getAssociations, getPackage, setPackage
-
-
-
-
Method Detail
-
isDerived
boolean isDerived()
Returns the value of the 'Is Derived' attribute. The default value is"false". Specifies whether the association is derived from other model elements such as other associations or constraints.- Returns:
- the value of the 'Is Derived' attribute.
- See Also:
setIsDerived(boolean),UMLPackage.getAssociation_IsDerived()
-
setIsDerived
void setIsDerived(boolean value)
Sets the value of the 'Is Derived' attribute.- Parameters:
value- the new value of the 'Is Derived' attribute.- See Also:
isDerived()
-
getEndTypes
MDWEList<Type> getEndTypes()
Returns the value of the 'End Type' reference list. The list contents are of typeType. References the classifiers that are used as types of the ends of the association.- Returns:
- the value of the 'End Type' reference list.
- See Also:
UMLPackage.getAssociation_EndType()
-
getEndType
Type getEndType(String name)
Retrieves the firstTypewith the specified 'Name' from the 'End Type' reference list.- Parameters:
name- The 'Name' of theTypeto retrieve, ornull.- Returns:
- The first
Typewith the specified 'Name', ornull. - See Also:
getEndTypes()
-
getEndType
Type getEndType(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstTypewith the specified 'Name' from the 'End Type' reference list.- Parameters:
name- The 'Name' of theTypeto retrieve, ornull.ignoreCase- Whether to ignore case inStringcomparisons.eClass- The Ecore class of theTypeto retrieve, ornull.- Returns:
- The first
Typewith the specified 'Name', ornull. - See Also:
getEndTypes()
-
getMemberEnds
MDWEList<Property> getMemberEnds()
Returns the value of the 'Member End' reference list. The list contents are of typeProperty. It is bidirectional and its opposite is 'Association'. Each end represents participation of instances of the classifier connected to the end in links of the association.- Returns:
- the value of the 'Member End' reference list.
- See Also:
UMLPackage.getAssociation_MemberEnd(),Property.getAssociation()
-
getMemberEnd
Property getMemberEnd(String name, Type type)
Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Member End' reference list.- Parameters:
name- The 'Name' of thePropertyto retrieve, ornull.type- The 'Type' of thePropertyto retrieve, ornull.- Returns:
- The first
Propertywith the specified 'Name', and 'Type', ornull. - See Also:
getMemberEnds()
-
getMemberEnd
Property getMemberEnd(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Member End' reference list.- Parameters:
name- The 'Name' of thePropertyto retrieve, ornull.type- The 'Type' of thePropertyto retrieve, ornull.ignoreCase- Whether to ignore case inStringcomparisons.eClass- The Ecore class of thePropertyto retrieve, ornull.- Returns:
- The first
Propertywith the specified 'Name', and 'Type', ornull. - See Also:
getMemberEnds()
-
getNavigableOwnedEnds
MDWEList<Property> getNavigableOwnedEnds()
Returns the value of the 'Navigable Owned End' reference list. The list contents are of typeProperty. The navigable ends that are owned by the association itself.- Returns:
- the value of the 'Navigable Owned End' reference list.
- See Also:
UMLPackage.getAssociation_NavigableOwnedEnd()
-
createNavigableOwnedEnd
Property createNavigableOwnedEnd(String name, Type type, org.eclipse.emf.ecore.EClass eClass)
Creates a newProperty, with the specified 'Name', and 'Type', and appends it to the 'Navigable Owned End' reference list.- Parameters:
name- The 'Name' for the newProperty, ornull.type- The 'Type' for the newProperty, ornull.eClass- The Ecore class of thePropertyto create.- Returns:
- The new
Property. - See Also:
getNavigableOwnedEnds()
-
createNavigableOwnedEnd
Property createNavigableOwnedEnd(String name, Type type)
Creates a newProperty, with the specified 'Name', and 'Type', and appends it to the 'Navigable Owned End' reference list.- Parameters:
name- The 'Name' for the newProperty, ornull.type- The 'Type' for the newProperty, ornull.- Returns:
- The new
Property. - See Also:
getNavigableOwnedEnds()
-
getNavigableOwnedEnd
Property getNavigableOwnedEnd(String name, Type type)
Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Navigable Owned End' reference list.- Parameters:
name- The 'Name' of thePropertyto retrieve, ornull.type- The 'Type' of thePropertyto retrieve, ornull.- Returns:
- The first
Propertywith the specified 'Name', and 'Type', ornull. - See Also:
getNavigableOwnedEnds()
-
getNavigableOwnedEnd
Property getNavigableOwnedEnd(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Navigable Owned End' reference list.- Parameters:
name- The 'Name' of thePropertyto retrieve, ornull.type- The 'Type' of thePropertyto retrieve, ornull.ignoreCase- Whether to ignore case inStringcomparisons.eClass- The Ecore class of thePropertyto retrieve, ornull.createOnDemand- Whether to create aPropertyon demand if not found.- Returns:
- The first
Propertywith the specified 'Name', and 'Type', ornull. - See Also:
getNavigableOwnedEnds()
-
getOwnedEnds
MDWEList<Property> getOwnedEnds()
Returns the value of the 'Owned End' containment reference list. The list contents are of typeProperty. It is bidirectional and its opposite is 'Owning Association'. The ends that are owned by the association itself.- Returns:
- the value of the 'Owned End' containment reference list.
- See Also:
UMLPackage.getAssociation_OwnedEnd(),Property.getOwningAssociation()
-
createOwnedEnd
Property createOwnedEnd(String name, Type type, org.eclipse.emf.ecore.EClass eClass)
Creates a newProperty, with the specified 'Name', and 'Type', and appends it to the 'Owned End' containment reference list.- Parameters:
name- The 'Name' for the newProperty, ornull.type- The 'Type' for the newProperty, ornull.eClass- The Ecore class of thePropertyto create.- Returns:
- The new
Property. - See Also:
getOwnedEnds()
-
createOwnedEnd
Property createOwnedEnd(String name, Type type)
Creates a newProperty, with the specified 'Name', and 'Type', and appends it to the 'Owned End' containment reference list.- Parameters:
name- The 'Name' for the newProperty, ornull.type- The 'Type' for the newProperty, ornull.- Returns:
- The new
Property. - See Also:
getOwnedEnds()
-
getOwnedEnd
Property getOwnedEnd(String name, Type type)
Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Owned End' containment reference list.- Parameters:
name- The 'Name' of thePropertyto retrieve, ornull.type- The 'Type' of thePropertyto retrieve, ornull.- Returns:
- The first
Propertywith the specified 'Name', and 'Type', ornull. - See Also:
getOwnedEnds()
-
getOwnedEnd
Property getOwnedEnd(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstPropertywith the specified 'Name', and 'Type' from the 'Owned End' containment reference list.- Parameters:
name- The 'Name' of thePropertyto retrieve, ornull.type- The 'Type' of thePropertyto retrieve, ornull.ignoreCase- Whether to ignore case inStringcomparisons.eClass- The Ecore class of thePropertyto retrieve, ornull.createOnDemand- Whether to create aPropertyon demand if not found.- Returns:
- The first
Propertywith the specified 'Name', and 'Type', ornull. - See Also:
getOwnedEnds()
-
validateSpecializedEndNumber
boolean validateSpecializedEndNumber(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)An association specializing another association has the same number of ends as the other association. self.parents()->forAll(p | p.memberEnd.size() = self.memberEnd.size())
-
validateSpecializedEndTypes
boolean validateSpecializedEndTypes(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)When an association specializes another association, every end of the specific association corresponds to an end of the general association, and the specific end reaches the same type or a subtype of the more general end. true
-
validateBinaryAssociations
boolean validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)Only binary associations can be aggregations. self.memberEnd->exists(aggregation <> Aggregation::none) implies self.memberEnd->size() = 2
-
validateAssociationEnds
boolean validateAssociationEnds(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)Association ends of associations with more than two ends must be owned by the association. if memberEnd->size() > 2 then ownedEnd->includesAll(memberEnd)
-
isBinary
boolean isBinary()
Determines whether this association is a binary association, i.e. whether it has exactly two member ends.
-
-