## org.eclipse.uml2.uml
Interface TemplateBinding

All Superinterfaces:
  DirectedRelationship, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier, Relationship

    public interface TemplateBinding

extends DirectedRelationship

A representation of the model object 'Template Binding'. 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.

The following features are supported:

- `Signature`
- `Parameter Substitution`
- `Bound Element`

See Also:
  `UMLPackage.getTemplateBinding()`

Method Summary
`TemplateParameterSubstitution` `createParameterSubstitution()` Creates a new `TemplateParameterSubstitution` and appends it to the 'Parameter Substitution' containment reference list
`TemplateableElement` `getBoundElement()` Returns the value of the 'Bound Element' container reference.
`org.eclipse.emf.common.util.EList<TemplateParameterSubstitution>` `getParameterSubstitutions()` Returns the value of the 'Parameter Substitution' containment reference list.
`TemplateSignature` `getSignature()` Returns the value of the 'Signature' reference.
`void` `setBoundElement(TemplateableElement value)` Sets the value of the '`Bound Element`' container reference
`void` `setSignature(TemplateSignature value)` Sets the value of the '`Signature`' reference
`boolean` `validateOneParameterSubstitution(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A binding contains at most one parameter substitution for each formal template parameter of the target template signature.
`boolean` `validateParameterSubstitutionFormal(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` Each parameter substitution must refer to a formal template parameter of the target template signature.

Methods inherited from interface org.eclipse.uml2.uml.DirectedRelationship
`getSources, getTargets`

Methods inherited from interface org.eclipse.uml2.uml.Relationship
`getRelatedElements`

Methods inherited from interface org.eclipse.uml2.uml.Element

`addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf`

Methods inherited from interface org.eclipse.emf.ecore.EModelElement
`getEAnnotation, getEAnnotations`

Methods inherited from interface org.eclipse.emf.ecore.EObject
`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Method Detail

### getSignature

    TemplateSignature getSignature()

  Returns the value of the 'Signature' reference.

  This feature subsets the following features:

  - '`Target`'
  The template signature for the template that is the target of the binding.

  Returns:
    the value of the 'Signature' reference.
  See Also:
    `setSignature(TemplateSignature)`, `UMLPackage.getTemplateBinding_Signature()`

### setSignature

    void setSignature(TemplateSignature value)

  Sets the value of the '`Signature`' reference.

  Parameters:
    `value` - the new value of the 'Signature' reference.
  See Also:
    `getSignature()`

### getParameterSubstitutions

    org.eclipse.emf.common.util.EList<TemplateParameterSubstitution> getParameterSubstitutions()

  Returns the value of the 'Parameter Substitution' containment reference list. The list contents are of type `TemplateParameterSubstitution`. It is bidirectional and its opposite is '`Template Binding`'.

  This feature subsets the following features:

  - '`Owned Element`'
  The parameter substitutions owned by this template binding.

  Returns:
    the value of the 'Parameter Substitution' containment reference list.
  See Also:
    `UMLPackage.getTemplateBinding_ParameterSubstitution()`, `TemplateParameterSubstitution.getTemplateBinding()`

### createParameterSubstitution

    TemplateParameterSubstitution createParameterSubstitution()

  Creates a new `TemplateParameterSubstitution` and appends it to the 'Parameter Substitution' containment reference list.

  Returns:
    The new `TemplateParameterSubstitution`.
  See Also:
    `getParameterSubstitutions()`

### getBoundElement

    TemplateableElement getBoundElement()

  Returns the value of the 'Bound Element' container reference. It is bidirectional and its opposite is '`Template Binding`'.

  This feature subsets the following features:

  - '`Owner`'
  - '`Source`'
  The element that is bound by this binding.

  Returns:
    the value of the 'Bound Element' container reference.
  See Also:
    `setBoundElement(TemplateableElement)`, `UMLPackage.getTemplateBinding_BoundElement()`, `TemplateableElement.getTemplateBindings()`

### setBoundElement

    void setBoundElement(TemplateableElement value)

  Sets the value of the '`Bound Element`' container reference.

  Parameters:
    `value` - the new value of the 'Bound Element' container reference.
  See Also:
    `getBoundElement()`

### validateParameterSubstitutionFormal

    boolean validateParameterSubstitutionFormal(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                                java.util.Map<java.lang.Object,java.lang.Object> context)

  Each parameter substitution must refer to a formal template parameter of the target template signature. parameterSubstitution->forAll(b | template.parameter->includes(b.formal))

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateOneParameterSubstitution

    boolean validateOneParameterSubstitution(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                             java.util.Map<java.lang.Object,java.lang.Object> context)

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

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

Copyright 2003, 2007 IBM Corporation and others. All Rights Reserved.