Software Disclaimer

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: DirectedRelationship

Direct Subclasses:

Class Precedence List: TemplateBinding, DirectedRelationship, Relationship, Element

Properties:

boundElement : TemplateableElement (1 1); -- source TemplateBinding

The 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 TemplateBinding

The 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 Element

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

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

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