Software Disclaimer

Class UML 2.4.1::ExtensionEnd

Description:

An extension end is used to tie an extension to a stereotype when extending a metaclass.The default multiplicity of an extension end is 0..1.

Direct Superclasses: Property

Direct Subclasses:

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

Properties:

lower : Integer (0 1); -- source ExtensionEnd
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
interface : Interface (0 1); -- source Property
isComposite : Boolean (1 1); -- source Property
isDerived : Boolean (1 1); -- source Property
isDerivedUnion : Boolean (1 1); -- source Property
isID : 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
end : ConnectorEnd (0 *); -- source ConnectableElement
templateParameter : ConnectableElementTemplateParameter (0 1); -- source ConnectableElement
owningTemplateParameter : TemplateParameter (0 1); -- source ParameterableElement
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
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
deployedElement : PackageableElement (0 *); -- source DeploymentTarget
deployment : Deployment (0 *); -- source DeploymentTarget
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
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].