Class UML 2.3::ExtensionEnd
Description:
The default multiplicity of an extension end is 0..1.
Direct Superclasses: PropertyDirect Subclasses: Class Precedence List: ExtensionEnd,
Property,
StructuralFeature,
MultiplicityElement,
DeploymentTarget,
ConnectableElement,
ParameterableElement,
TypedElement,
Feature,
RedefinableElement,
NamedElement,
ElementProperties:
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 References the type of the ExtensionEnd. Note that this association restricts
the possible types of an ExtensionEnd to only be Stereotypes.
Redefines: TypedElement.type
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 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 The specification of the lower bound for this multiplicity.
{
composite}
Subsets: Element.ownedElement
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 The ConnectableElementTemplateParameter for this ConnectableElement parameter.
Redefines: ParameterableElement.templateParameter
Opposite: ConnectableElementTemplateParameter.parameteredElement
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement featuringClassifier :
Classifier (0 *); -- source
Feature isStatic : Boolean (1 1); -- source
Feature isLeaf : Boolean (1 1); -- source
RedefinableElement Indicates whether it is possible to further redefine a RedefinableElement.
If the value is true, then it is not possible to further redefine the RedefinableElement.
Note that this property is preserved through package merge operations;
that is, the capability to redefine a RedefinableElement (i.e., isLeaf=false)
must be preserved in the resulting RedefinableElement of a package merge
operation where a RedefinableElement with isLeaf=false is merged with a
matching RedefinableElement with isLeaf=true: the resulting RedefinableElement
will have isLeaf=false. Default value is false.
Default value: FALSE
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 Specifies the namespace that owns the NamedElement.
{
readonly}
Derived union with sources: (owningAssociation, interface, datatype, class)
Subsets: Element.owner
Opposite: Namespace.ownedMember
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
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].