Software Disclaimer

Class UML 2.3::TemplateBinding

Description:

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

Properties:

boundElement : TemplateableElement (1 1); -- source TemplateBinding
parameterSubstitution : TemplateParameterSubstitution (0 *); -- source TemplateBinding
signature : TemplateSignature (1 1); -- source TemplateBinding
source : Element (1 *); -- source DirectedRelationship
target : Element (1 *); -- source DirectedRelationship
relatedElement : Element (1 *); -- source Relationship

Specifies the elements related by the Relationship.
{readonly}
Derived union with sources: (target, source, signature, boundElement)

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

Constraints:

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)

Operations:

No additional operations.



Send questions or comments to [email protected].