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: PropertyDirect Subclasses: Class Precedence List: ExtensionEnd,
Property,
StructuralFeature,
ConnectableElement,
TypedElement,
ParameterableElement,
MultiplicityElement,
Feature,
RedefinableElement,
DeploymentTarget,
NamedElement,
ElementProperties:
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
ElementConstraints:
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].