Software Disclaimer

Class UML 2.4.1::TemplateBinding


A template binding represents a relationship between a templateable element and a template. A template binding specifies the substitutions of actual parameters for the formal parameters of the template.

Direct Superclasses: DirectedRelationship

Direct Subclasses:

Class Precedence List: TemplateBinding, DirectedRelationship, Relationship, Element


boundElement : TemplateableElement (1 1); -- source TemplateBinding
parameterSubstitution : TemplateParameterSubstitution (0 *); -- source TemplateBinding
signature : TemplateSignature (1 1); -- source TemplateBinding

The template signature for the template that is the target of the binding.

source : Element (1 *); -- source DirectedRelationship

Specifies the sources of the DirectedRelationship.
Derived union with sources: (boundElement)
Subsets: Relationship.relatedElement

target : Element (1 *); -- source DirectedRelationship
relatedElement : Element (1 *); -- source Relationship
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element

The Elements owned by this element.
{composite, readonly}
Derived union with sources: (ownedComment, parameterSubstitution)
Opposite: Element.owner

owner : Element (0 1); -- source Element


Signature: parameter_substitution_formal() : Boolean;
Description: Each parameter substitution must refer to a formal template parameter of the target template signature.
Expression: parameterSubstitution->forAll(b | template.parameter->includes(b.formal))

Signature: one_parameter_substitution() : Boolean;
Description: A binding contains at most one parameter substitution for each formal template parameter of the target template signature.
Expression: template.parameter->forAll(p | parameterSubstitution->select(b | b.formal = p)->size() <= 1)


No additional operations.

Send questions or comments to [email protected].