Software Disclaimer

Abstract Class UML 2.4.1::TemplateableElement

Description:

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

Properties:

ownedTemplateSignature : TemplateSignature (0 1); -- source TemplateableElement
templateBinding : TemplateBinding (0 *); -- source TemplateableElement

The optional bindings from this element to templates.
{composite}
Subsets: Element.ownedElement
Opposite: TemplateBinding.boundElement

ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

No additional constraints.

Operations:

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