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
TemplateBindingThe parameter substitutions owned by this template binding.
{
composite}
Subsets: Element.ownedElement
Opposite: TemplateParameterSubstitution.templateBinding
signature :
TemplateSignature (1 1); -- source
TemplateBinding source :
Element (1 *); -- source
DirectedRelationshipSpecifies the sources of the DirectedRelationship.
{
readonly}
Derived union with sources: (boundElement)
Subsets: Relationship.relatedElement
target :
Element (1 *); -- source
DirectedRelationship relatedElement :
Element (1 *); -- source
RelationshipSpecifies 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
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].