Interface IAssociation
The public interface for Association
[DefaultImplementationType(typeof(Association))]
[XmlDefaultImplementationType(typeof(Association))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Association")]
public interface IAssociation : IRelationship, IClassifier, ITemplateableElement, IType, IPackageableElement, IParameterableElement, IRedefinableElement, INamespace, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
IsDerived
Specifies whether the Association is derived from other model elements such as other Associations. <p>From package UML::StructuredClassifiers.</p>
[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. <p>From package UML::StructuredClassifiers.</p>
[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. <p>From package UML::StructuredClassifiers.</p>
[XmlElementName("navigableOwnedEnd")]
[XmlAttribute(true)]
IOrderedSetExpression<IProperty> NavigableOwnedEnd { get; }
Property Value
OwnedEnd
The ends that are owned by the Association itself. <p>From package UML::StructuredClassifiers.</p>
[XmlElementName("ownedEnd")]
[XmlAttribute(true)]
[XmlOpposite("owningAssociation")]
IListExpression<IProperty> OwnedEnd { get; }
Property Value
Methods
Association_ends(object, object)
Ends of Associations with more than two ends must be owned by the Association itself. memberEnd->size() > 2 implies 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. memberEnd->exists(aggregation <> AggregationKind::none) implies (memberEnd->size() = 2 and memberEnd->exists(aggregation = AggregationKind::none))
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
Ends_must_be_typed(object, object)
memberEnd->forAll(type->notEmpty())
bool Ends_must_be_typed(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
GetEndTypes()
endType is derived from the types of the member ends. result = (memberEnd->collect(type)->asSet()) <p>From package UML::StructuredClassifiers.</p>
ISetExpression<IType> GetEndTypes()
Returns
IsBinary()
Determines whether this association is a binary association, i.e. whether it has exactly two member ends.
bool IsBinary()
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 corresponding general end. Sequence{1..memberEnd->size()}-> forAll(i | 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.