Previous | UML Classes | Table of Contents | UML Packages | Next |
A template signature bundles the set of formal template parameters for a templated element.
•
Element (from Kernel ) on page 63
Description
A TemplateSignature is owned by a TemplateableElement and has one or more TemplateParameters that define the signature for
binding this template.
Attributes
No additional attributes
Associations
• ownedParameter : TemplateParameter[*] The formal template parameters that are owned by this template signature. Subsets
parameter and Element::ownedElement.
Issue 8517 - indicate that this is an ordered set
• parameter : TemplateParameter[1..*] The ordered set of allformal template parameters for this template signature.
• template : TemplateableElement[1] The element that owns this template signature. Subsets Element::owner.
Constraints
[1] Parameters must own the elements they parameter or those elements must be owned by the element being templated.
templatedElement.ownedElement->includesAll(parameter.parameteredElement - parameter.ownedParameteredElement)
Issue 8517 - remove incorrect constraint
Semantics
A TemplateSignature specifies the set of formal template parameters for the associated templated element. The formal template
parameters specify the elements that may be substituted in a binding of the template.
Issue 8517 - replace ‘parameter’ with ‘signature’
There are constraints on what may be parametered by a template parameter. Either the signature owns the parametered element,
or the element is owned, directly or indirectly, by the template subclasses of TemplateSignature can add additional rules
constraining what a parameter can reference in the context of a particular kind of template.
Notation
See TemplateableElement for a description of how the template parameters are shown as part of the notation for the template.
Examples
See TemplateableElement.
ClassifierTemplates
Issue 8517 -add cross-ref to corresponding figure
The Classifier templates diagram
(Figure 17.18 on page 657) specifies the abstract mechanisms that support defining
classifier templates, bound classifiers, and classifier template parameters. Specific subclasses of Classifier must also specialize
one or more of the abstract metaclasses defined in this diagram in order to expose these capabilities in a concrete manner.
Issue 8265 - add ClassifierTemplateParameter::defaultClassifier and ClassifierTemplateParameter::constrainingClassifier 8527,
8528- add ‘redefines’ constraints to ClassifierTemplateParameter::parameteredElement and Classifier::parameter 9110 - rename
‘parameter’ to ‘templateParameter’ and add constraint