Class UML 2.4.1::RedefinableTemplateSignature
Description:
A redefinable template signature supports the addition of formal template
parameters in a specialization of a template classifier.
Direct Superclasses: TemplateSignature,
RedefinableElementDirect Subclasses: Class Precedence List: RedefinableTemplateSignature,
TemplateSignature,
RedefinableElement,
NamedElement,
ElementProperties:
classifier :
Classifier (1 1); -- source
RedefinableTemplateSignature extendedSignature :
RedefinableTemplateSignature (0 *); -- source
RedefinableTemplateSignature inheritedParameter :
TemplateParameter (0 *); -- source
RedefinableTemplateSignature ownedParameter :
TemplateParameter (0 *); -- source
TemplateSignature parameter :
TemplateParameter (1 *); -- source
TemplateSignature isLeaf : Boolean (1 1); -- source
RedefinableElement 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 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: inherited_parameters() : Boolean;
Description: The inherited parameters are the parameters of the extended template signature.
Expression: if extendedSignature->isEmpty() then Set{} else extendedSignature.parameter endif
Operations:
Signature: isConsistentWith(redefinee : RedefinableElement; ) : Boolean;
Description: The query isConsistentWith() specifies, for any two RedefinableTemplateSignatures
in a context in which redefinition is possible, whether redefinition would
be logically consistent. A redefining template signature is always consistent
with a redefined template signature, since redefinition only adds new formal
parameters.
The OCL used here is not normative.Editor's notes: Redefinable not Redefineable
Expression: result = redefinee.oclIsKindOf(RedefinableTemplateSignature)
Original: result = redefinee.oclIsKindOf(RedefineableTemplateSignature)
redefinee.isRedefinitionContextValid(self)
Send questions or comments to
[email protected].