Class UML 2.4.1::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: DirectedRelationshipDirect Subclasses: Class Precedence List: TemplateBinding,
DirectedRelationship,
Relationship,
ElementProperties:
boundElement :
TemplateableElement (1 1); -- source
TemplateBindingThe element that is bound by this binding.
Subsets: DirectedRelationship.source, Element.owner
Opposite: TemplateableElement.templateBinding
parameterSubstitution :
TemplateParameterSubstitution (0 *); -- source
TemplateBinding signature :
TemplateSignature (1 1); -- source
TemplateBindingThe template signature for the template that is the target of the binding.
Subsets: DirectedRelationship.target
source :
Element (1 *); -- source
DirectedRelationship target :
Element (1 *); -- source
DirectedRelationship relatedElement :
Element (1 *); -- source
Relationship ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
ElementThe Elements owned by this element.
{
composite,
readonly}
Derived union with sources: (ownedComment, parameterSubstitution)
Opposite: Element.owner
owner :
Element (0 1); -- source
ElementThe Element that owns this element.
{
readonly}
Derived union with sources: (boundElement)
Opposite: Element.ownedElement
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].