## org.eclipse.uml2.uml
Interface ClassifierTemplateParameter

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

    public interface ClassifierTemplateParameter

extends TemplateParameter

A representation of the model object 'Classifier Template Parameter'. A classifier template parameter exposes a classifier as a formal template parameter.

The following features are supported:

- `Allow Substitutable`
- `Constraining Classifier`

See Also:
  `UMLPackage.getClassifierTemplateParameter()`

Method Summary
`Classifier` `getConstrainingClassifier(java.lang.String name)` Retrieves the first `Classifier` with the specified 'Name' from the 'Constraining Classifier' reference list
`Classifier` `getConstrainingClassifier(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)` Retrieves the first `Classifier` with the specified 'Name' from the 'Constraining Classifier' reference list
`org.eclipse.emf.common.util.EList<Classifier>` `getConstrainingClassifiers()` Returns the value of the 'Constraining Classifier' reference list.
`boolean` `isAllowSubstitutable()` Returns the value of the 'Allow Substitutable' attribute.
`void` `setAllowSubstitutable(boolean value)` Sets the value of the '`Allow Substitutable`' attribute
`boolean` `validateHasConstrainingClassifier(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` If "allowSubstitutable" is true, then there must be a constrainingClassifier.

Methods inherited from interface org.eclipse.uml2.uml.TemplateParameter
`createOwnedDefault, createOwnedParameteredElement, getDefault, getOwnedDefault, getOwnedParameteredElement, getParameteredElement, getSignature, setDefault, setOwnedDefault, setOwnedParameteredElement, setParameteredElement, setSignature, validateMustBeCompatible`

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, eIsProxy, eIsSet, eResource, eSet, eUnset`

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

Method Detail

### isAllowSubstitutable

    boolean isAllowSubstitutable()

  Returns the value of the 'Allow Substitutable' attribute. The default value is `"true"`. Constrains the required relationship between an actual parameter and the parameteredElement for this formal parameter.

  Returns:
    the value of the 'Allow Substitutable' attribute.
  See Also:
    `setAllowSubstitutable(boolean)`, `UMLPackage.getClassifierTemplateParameter_AllowSubstitutable()`

### setAllowSubstitutable

    void setAllowSubstitutable(boolean value)

  Sets the value of the '`Allow Substitutable`' attribute.

  Parameters:
    `value` - the new value of the 'Allow Substitutable' attribute.
  See Also:
    `isAllowSubstitutable()`

### getConstrainingClassifiers

    org.eclipse.emf.common.util.EList<Classifier> getConstrainingClassifiers()

  Returns the value of the 'Constraining Classifier' reference list. The list contents are of type `Classifier`. The classifiers that constrain the argument that can be used for the parameter. If the allowSubstitutable attribute is true, then any classifier that is compatible with this constraining classifier can be substituted; otherwise, it must be either this classifier or one of its subclasses. If this property is empty, there are no constraints on the classifier that can be used as an argument.

  Returns:
    the value of the 'Constraining Classifier' reference list.
  See Also:
    `UMLPackage.getClassifierTemplateParameter_ConstrainingClassifier()`

### getConstrainingClassifier

    Classifier getConstrainingClassifier(java.lang.String name)

  Retrieves the first `Classifier` with the specified 'Name' from the 'Constraining Classifier' reference list.

  Parameters:
    `name` - The 'Name' of the `Classifier` to retrieve, or `null`.
  Returns:
    The first `Classifier` with the specified 'Name', or `null`.
  See Also:
    `getConstrainingClassifiers()`

### getConstrainingClassifier

    Classifier getConstrainingClassifier(java.lang.String name,
                                         boolean ignoreCase,
                                         org.eclipse.emf.ecore.EClass eClass)

  Retrieves the first `Classifier` with the specified 'Name' from the 'Constraining Classifier' reference list.

  Parameters:
    `name` - The 'Name' of the `Classifier` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
    `eClass` - The Ecore class of the `Classifier` to retrieve, or `null`.
  Returns:
    The first `Classifier` with the specified 'Name', or `null`.
  See Also:
    `getConstrainingClassifiers()`

### validateHasConstrainingClassifier

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

  If "allowSubstitutable" is true, then there must be a constrainingClassifier. allowSubstitutable implies constrainingClassifier->notEmpty()

  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.