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 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.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.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.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.Type
getEndType(String name)
Retrieves the firstType
with the specified 'Name' from the 'End Type' reference list.Type
getEndType(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstType
with the specified 'Name' from the 'End Type' reference list.MDWEList<Type>
getEndTypes()
Returns the value of the 'End Type' reference list.Property
getMemberEnd(String name, Type type)
Retrieves the firstProperty
with the specified 'Name', and 'Type' from the 'Member End' reference list.Property
getMemberEnd(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstProperty
with the specified 'Name', and 'Type' from the 'Member End' reference list.MDWEList<Property>
getMemberEnds()
Returns the value of the 'Member End' reference list.Property
getNavigableOwnedEnd(String name, Type type)
Retrieves the firstProperty
with the specified 'Name', and 'Type' from the 'Navigable Owned End' reference list.Property
getNavigableOwnedEnd(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstProperty
with 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.Property
getOwnedEnd(String name, Type type)
Retrieves the firstProperty
with the specified 'Name', and 'Type' from the 'Owned End' containment reference list.Property
getOwnedEnd(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstProperty
with 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.boolean
isBinary()
Determines whether this association is a binary association, i.e.boolean
isDerived()
Returns the value of the 'Is Derived' attribute.void
setIsDerived(boolean value)
Sets the value of the 'Is Derived
' attribute.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.boolean
validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
Only binary associations can be aggregations.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.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.-
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 firstType
with the specified 'Name' from the 'End Type' reference list.- Parameters:
name
- The 'Name' of theType
to retrieve, ornull
.- Returns:
- The first
Type
with the specified 'Name', ornull
. - See Also:
getEndTypes()
-
getEndType
Type getEndType(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstType
with the specified 'Name' from the 'End Type' reference list.- Parameters:
name
- The 'Name' of theType
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theType
to retrieve, ornull
.- Returns:
- The first
Type
with 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 firstProperty
with the specified 'Name', and 'Type' from the 'Member End' reference list.- Parameters:
name
- The 'Name' of theProperty
to retrieve, ornull
.type
- The 'Type' of theProperty
to retrieve, ornull
.- Returns:
- The first
Property
with 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 firstProperty
with the specified 'Name', and 'Type' from the 'Member End' reference list.- Parameters:
name
- The 'Name' of theProperty
to retrieve, ornull
.type
- The 'Type' of theProperty
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theProperty
to retrieve, ornull
.- Returns:
- The first
Property
with 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 theProperty
to 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 firstProperty
with the specified 'Name', and 'Type' from the 'Navigable Owned End' reference list.- Parameters:
name
- The 'Name' of theProperty
to retrieve, ornull
.type
- The 'Type' of theProperty
to retrieve, ornull
.- Returns:
- The first
Property
with 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 firstProperty
with the specified 'Name', and 'Type' from the 'Navigable Owned End' reference list.- Parameters:
name
- The 'Name' of theProperty
to retrieve, ornull
.type
- The 'Type' of theProperty
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theProperty
to retrieve, ornull
.createOnDemand
- Whether to create aProperty
on demand if not found.- Returns:
- The first
Property
with 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 theProperty
to 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 firstProperty
with the specified 'Name', and 'Type' from the 'Owned End' containment reference list.- Parameters:
name
- The 'Name' of theProperty
to retrieve, ornull
.type
- The 'Type' of theProperty
to retrieve, ornull
.- Returns:
- The first
Property
with 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 firstProperty
with the specified 'Name', and 'Type' from the 'Owned End' containment reference list.- Parameters:
name
- The 'Name' of theProperty
to retrieve, ornull
.type
- The 'Type' of theProperty
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theProperty
to retrieve, ornull
.createOnDemand
- Whether to create aProperty
on demand if not found.- Returns:
- The first
Property
with 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.
-
-