Software Disclaimer

Class UML 2.3::LinkEndCreationData

Description:

A link end creation data is not an action. It is an element that identifies links. It identifies one end of a link to be created by a create link action.

Direct Superclasses: LinkEndData

Direct Subclasses:

Class Precedence List: LinkEndCreationData, LinkEndData, Element

Properties:

insertAt : InputPin (0 1); -- source LinkEndCreationData
isReplaceAll : Boolean (1 1); -- source LinkEndCreationData

Specifies whether the existing links emanating from the object on this end should be destroyed before creating a new link.
Default value: FALSE

end : Property (1 1); -- source LinkEndData
qualifier : QualifierValue (0 *); -- source LinkEndData
value : InputPin (0 1); -- source LinkEndData

Input pin that provides the specified object for the given end. This pin is omitted if the link-end data specifies an 'open' end for reading.

ownedComment : Comment (0 *); -- source Element

The Comments owned by this element.
{composite}
Subsets: Element.ownedElement

ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

The Element that owns this element.
{readonly}
Derived union with sources: ()
Opposite: Element.ownedElement

Constraints:

Signature: single_input_pin() : Boolean;
Description: Link end creation data for ordered association ends must have a single input pin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.
The OCL used here is not normative.
Editor's notes: No multiplicity. insertAt, not InsertAts. oclIsKindOf(UnlimitedNatural). Extra close paren
Expression: let insertAtPins : Collection = self.insertAt in if self.end.ordering = #unordered then insertAtPins->size() = 0 else let insertAtPin : InputPin = insertAt->asSequence()->first() in insertAtPins->size() = 1 and insertAtPin.type.oclIsKindOf(UnlimitedNatural) and insertAtPin.is(1,1) endif
Original: let insertAtPins : Collection = self.insertAt in if self.end.ordering = #unordered then insertAtPins->size() = 0 else let insertAtPin : InputPin = insertAts->asSequence()->first() in insertAtPins->size() = 1 and insertAtPin.type = UnlimitedNatural and insertAtPin.multiplicity.is(1,1)) endif

Signature: create_link_action() : Boolean;
Description: LinkEndCreationData can only be end data for CreateLinkAction or one of its specializations.
The OCL used here is not normative.
Editor's notes: LinkAction not defined.
Expression: true
Original: self.LinkAction.oclIsKindOf(CreateLinkAction)

Operations:

No additional operations.



Send questions or comments to [email protected].