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

If isDerived is true, the value of the attribute is derived from information elsewhere. 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
isID : Boolean (1 1); -- source Property
isReadOnly : Boolean (1 1); -- source Property
opposite : Property (0 1); -- source Property
owningAssociation : Association (0 1); -- source Property

References the owning association of this property, if any.
Subsets: Feature.featuringClassifier, NamedElement.namespace, Property.association, RedefinableElement.redefinitionContext
Opposite: Association.ownedEnd

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 xmi-interop@omg.org.