## org.eclipse.uml2.uml
Interface TemplateParameterSubstitution

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

    public interface TemplateParameterSubstitution

extends Element

A representation of the model object 'Template Parameter Substitution'. A template parameter substitution relates the actual parameter to a formal template parameter as part of a template binding.

The following features are supported:

- `Formal`
- `Actual`
- `Owned Actual`
- `Template Binding`

See Also:
  `UMLPackage.getTemplateParameterSubstitution()`

Method Summary
`ParameterableElement` `createOwnedActual(org.eclipse.emf.ecore.EClass eClass)` Creates a new `ParameterableElement` and sets the 'Owned Actual' containment reference
`ParameterableElement` `getActual()` Returns the value of the 'Actual' reference
`TemplateParameter` `getFormal()` Returns the value of the 'Formal' reference
`ParameterableElement` `getOwnedActual()` Returns the value of the 'Owned Actual' containment reference.
`TemplateBinding` `getTemplateBinding()` Returns the value of the 'Template Binding' container reference.
`void` `setActual(ParameterableElement value)` Sets the value of the '`Actual`' reference
`void` `setFormal(TemplateParameter value)` Sets the value of the '`Formal`' reference
`void` `setOwnedActual(ParameterableElement value)` Sets the value of the '`Owned Actual`' containment reference
`void` `setTemplateBinding(TemplateBinding value)` Sets the value of the '`Template Binding`' container reference
`boolean` `validateMustBeCompatible(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The actual parameter must be compatible with the formal template parameter, e.g. the actual parameter for a class template parameter must be a class.

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

### getFormal

    TemplateParameter getFormal()

  Returns the value of the 'Formal' reference. The formal template parameter that is associated with this substitution.

  Returns:
    the value of the 'Formal' reference.
  See Also:
    `setFormal(TemplateParameter)`, `UMLPackage.getTemplateParameterSubstitution_Formal()`

### setFormal

    void setFormal(TemplateParameter value)

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

  Parameters:
    `value` - the new value of the 'Formal' reference.
  See Also:
    `getFormal()`

### getActual

    ParameterableElement getActual()

  Returns the value of the 'Actual' reference. The element that is the actual parameter for this substitution.

  Returns:
    the value of the 'Actual' reference.
  See Also:
    `setActual(ParameterableElement)`, `UMLPackage.getTemplateParameterSubstitution_Actual()`

### setActual

    void setActual(ParameterableElement value)

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

  Parameters:
    `value` - the new value of the 'Actual' reference.
  See Also:
    `getActual()`

### getOwnedActual

    ParameterableElement getOwnedActual()

  Returns the value of the 'Owned Actual' containment reference.

  This feature subsets the following features:

  - '`Actual`'
  - '`Owned Element`'
  The actual parameter that is owned by this substitution.

  Returns:
    the value of the 'Owned Actual' containment reference.
  See Also:
    `setOwnedActual(ParameterableElement)`, `UMLPackage.getTemplateParameterSubstitution_OwnedActual()`

### setOwnedActual

    void setOwnedActual(ParameterableElement value)

  Sets the value of the '`Owned Actual`' containment reference.

  Parameters:
    `value` - the new value of the 'Owned Actual' containment reference.
  See Also:
    `getOwnedActual()`

### createOwnedActual

    ParameterableElement createOwnedActual(org.eclipse.emf.ecore.EClass eClass)

  Creates a new `ParameterableElement` and sets the 'Owned Actual' containment reference.

  Parameters:
    `eClass` - The Ecore class of the `ParameterableElement` to create.
  Returns:
    The new `ParameterableElement`.
  See Also:
    `getOwnedActual()`

### getTemplateBinding

    TemplateBinding getTemplateBinding()

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

  This feature subsets the following features:

  - '`Owner`'
  The optional bindings from this element to templates.

  Returns:
    the value of the 'Template Binding' container reference.
  See Also:
    `setTemplateBinding(TemplateBinding)`, `UMLPackage.getTemplateParameterSubstitution_TemplateBinding()`, `TemplateBinding.getParameterSubstitutions()`

### setTemplateBinding

    void setTemplateBinding(TemplateBinding value)

  Sets the value of the '`Template Binding`' container reference.

  Parameters:
    `value` - the new value of the 'Template Binding' container reference.
  See Also:
    `getTemplateBinding()`

### validateMustBeCompatible

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

  The actual parameter must be compatible with the formal template parameter, e.g. the actual parameter for a class template parameter must be a class. actual->forAll(a | a.isCompatibleWith(formal.parameteredElement))

  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.