Software Disclaimer

Abstract Class UML 2.3::TemplateableElement


A templateable element is an element that can optionally be defined as a template and bound to other templates.

Direct Superclasses: Element

Direct Subclasses: StringExpression, Package, Operation, Classifier

Class Precedence List: TemplateableElement, Element


ownedTemplateSignature : TemplateSignature (0 1); -- source TemplateableElement
templateBinding : TemplateBinding (0 *); -- source TemplateableElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element


No additional constraints.


Signature: parameterableElements() : ParameterableElement;
Description: The query parameterableElements() returns the set of elements that may be used as the parametered elements for a template parameter of this templateable element. By default, this set includes all the owned elements. Subclasses may override this operation if they choose to restrict the set of parameterable elements.
The OCL used here is not normative.
Editor's notes: added () to allOwnedElements.
Expression: result = allOwnedElements()->select(oclIsKindOf(ParameterableElement))
Original: result = allOwnedElements->select(oclIsKindOf(ParameterableElement))

Signature: isTemplate() : Boolean;
Description: The query isTemplate() returns whether this templateable element is actually a template.
Expression: result = ownedTemplateSignature->notEmpty()

Send questions or comments to [email protected].