Interface IAssociation
The public interface for Association
[DefaultImplementationType(typeof(Association))]
[XmlDefaultImplementationType(typeof(Association))]
[ModelRepresentationClass("http://www.omg.org/spec/MOF/20131001/cmof.xmi#//Association")]
public interface IAssociation : IRelationship, IClassifier, IType, IPackageableElement, IRedefinableElement, INamespace, INamedElement, IElement, IObject, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
IsDerived
Specifies whether the association is derived from other model elements such as other associations or constraints.
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isDerived")]
[XmlAttribute(true)]
bool IsDerived { get; set; }
Property Value
MemberEnd
Each end represents participation of instances of the classifier connected to the end in links of the association.
[LowerBound(2)]
[XmlElementName("memberEnd")]
[XmlAttribute(true)]
[XmlOpposite("association")]
IListExpression<IProperty> MemberEnd { get; }
Property Value
NavigableOwnedEnd
The navigable ends that are owned by the association itself.
[Browsable(false)]
[XmlElementName("navigableOwnedEnd")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<IProperty> NavigableOwnedEnd { get; }
Property Value
OwnedEnd
The ends that are owned by the association itself.
[XmlElementName("ownedEnd")]
[XmlAttribute(true)]
[XmlOpposite("owningAssociation")]
IListExpression<IProperty> OwnedEnd { get; }
Property Value
Methods
Association_ends(object, object)
Association ends of associations with more than two ends must be owned by the association. if memberEnd->size() > 2 then ownedEnd->includesAll(memberEnd)
bool Association_ends(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
Binary_associations(object, object)
Only binary associations can be aggregations. self.memberEnd->exists(aggregation <> Aggregation::none) implies self.memberEnd->size() = 2
bool Binary_associations(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
Specialized_end_number(object, object)
An association specializing another association has the same number of ends as the other association. parents()->select(oclIsKindOf(Association)).oclAsType(Association)->forAll(p | p.memberEnd->size() = self.memberEnd->size())
bool Specialized_end_number(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
Specialized_end_types(object, object)
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. Sequence{1..self.memberEnd->size()}-> forAll(i | self.general->select(oclIsKindOf(Association)).oclAsType(Association)-> forAll(ga |self.memberEnd->at(i).type.conformsTo(ga.memberEnd->at(i).type)))
bool Specialized_end_types(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.