Software Disclaimer

Class UML 2.3::ExtensionEnd

Description:

The default multiplicity of an extension end is 0..1.

Direct Superclasses: Property

Direct Subclasses:

Class Precedence List: ExtensionEnd, Property, StructuralFeature, MultiplicityElement, DeploymentTarget, ConnectableElement, ParameterableElement, TypedElement, Feature, RedefinableElement, NamedElement, Element

Properties:

lower : Integer (0 1); -- source ExtensionEnd

This redefinition changes the default multiplicity of association ends, since model elements are usually extended by 0 or 1 instance of the extension stereotype.
{derived}
Redefines: MultiplicityElement.lower
Default value: 0
The spec does not provide a function to compute this derived property!

type : Stereotype (1 1); -- source ExtensionEnd
aggregation : AggregationKind (1 1); -- source Property
association : Association (0 1); -- source Property
associationEnd : Property (0 1); -- source Property
class : Class (0 1); -- source Property
datatype : DataType (0 1); -- source Property
default : String (0 1); -- source Property
defaultValue : ValueSpecification (0 1); -- source Property

A ValueSpecification that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.
{composite}
Subsets: Element.ownedElement

interface : Interface (0 1); -- source Property
isComposite : Boolean (1 1); -- source Property
isDerived : Boolean (1 1); -- source Property

Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.
Default value: FALSE

isDerivedUnion : Boolean (1 1); -- source Property
isReadOnly : Boolean (1 1); -- source Property
opposite : Property (0 1); -- source Property
owningAssociation : Association (0 1); -- source Property
qualifier : Property (0 *); -- source Property
redefinedProperty : Property (0 *); -- source Property
subsettedProperty : Property (0 *); -- source Property
isOrdered : Boolean (1 1); -- source MultiplicityElement
isUnique : Boolean (1 1); -- source MultiplicityElement
lowerValue : ValueSpecification (0 1); -- source MultiplicityElement
upper : UnlimitedNatural (0 1); -- source MultiplicityElement
upperValue : ValueSpecification (0 1); -- source MultiplicityElement

The specification of the upper bound for this multiplicity.
{composite}
Subsets: Element.ownedElement

deployedElement : PackageableElement (0 *); -- source DeploymentTarget
deployment : Deployment (0 *); -- source DeploymentTarget
end : ConnectorEnd (0 *); -- source ConnectableElement

Denotes a connector that attaches to this connectable element.
{ordered, derived}
Opposite: ConnectorEnd.role

templateParameter : ConnectableElementTemplateParameter (0 1); -- source ConnectableElement
owningTemplateParameter : TemplateParameter (0 1); -- source ParameterableElement
featuringClassifier : Classifier (0 *); -- source Feature
isStatic : Boolean (1 1); -- source Feature
isLeaf : Boolean (1 1); -- source RedefinableElement
redefinedElement : RedefinableElement (0 *); -- source RedefinableElement
redefinitionContext : Classifier (0 *); -- source RedefinableElement
clientDependency : Dependency (0 *); -- source NamedElement
name : String (0 1); -- source NamedElement
nameExpression : StringExpression (0 1); -- source NamedElement
namespace : Namespace (0 1); -- source NamedElement
qualifiedName : String (0 1); -- source NamedElement

A name which allows the NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from the names of the containing namespaces starting at the root of the hierarchy and ending with the name of the NamedElement itself.
{readonly, derived}

visibility : VisibilityKind (0 1); -- source NamedElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

Signature: multiplicity() : Boolean;
Description: The multiplicity of ExtensionEnd is 0..1 or 1.
Expression: (self->lowerBound() = 0 or self->lowerBound() = 1) and self->upperBound() = 1

Signature: aggregation() : Boolean;
Description: The aggregation of an ExtensionEnd is composite.
Expression: self.aggregation = #composite

Operations:

Signature: lowerBound() : Integer;
Description: The query lowerBound() returns the lower bound of the multiplicity as an Integer. This is a redefinition of the default lower bound, which normally, for MultiplicityElements, evaluates to 1 if empty.
The OCL used here is not normative.
Editor's notes: removed lowerBound = ... but IntegerValue is not defined
Expression: 1
Original: result = lowerBound = if lowerValue->isEmpty() then 0 else lowerValue->IntegerValue() endif



Send questions or comments to [email protected].