Previous UML Classes Table of Contents UML Packages Next

17.5.9 RedefinableTemplateSignature


   A redefinable template signature supports the addition of formal template parameters in a specialization of a template classifier.



    TemplateSignature (from Templates) on page 655


    RedefinableElement (from Kernel ) on page 132


   RedefinableTemplateSignature specializes both TemplateSignature and RedefinableElement in order to allow the addition of new formal template parameters in the context of a specializing template Classifier.


   No additional attributes



   [1] The inherited parameters are the parameters of the extended template signature.

   inheritedParameter = if extendedSignature->isEmpty() then Set{} else extendedSignature.parameter endif

   Additional Operations

   [1] 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.

   RedefineableTemplateSignature::isConsistentWith(redefinee: RedefinableElement ): Boolean;pre: redefinee.isRedefinitionContextValid(self)isConsistentWith = redefinee.oclIsKindOf(RedefineableTemplateSignature)


   A RedefinableTemplateSignature may extend an inherited template signature in order to specify additional formal template parameters that apply within the templateable classifier that owns this RedefinableTemplateSignature. All the formal template parameters of the extended signatures are included as formal template parameters of the extending signature, along with any parameters locally specified for the extending signature.


   Notation as for redefinition in general.


   The Package templates diagram supports the specification of template packages and package template parameters.

Figure 17.25 - Package templates