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
PropertyIf 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
PropertyIn the case where the property is one navigable end of a binary association
with both ends navigable, this gives the other end.
{
derived}
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
ParameterableElementThe formal template parameter that owns this element.
Subsets: Element.owner, ParameterableElement.templateParameter
Opposite: TemplateParameter.ownedParameteredElement
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
RedefinableElementReferences the contexts that this element may be redefined from.
{
readonly}
Derived union with sources: (owningAssociation)
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].