## org.eclipse.uml2.uml
Interface TemplateableElement

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

All Known Subinterfaces:
  Activity, Actor, Artifact, Association, AssociationClass, Behavior, BehavioredClassifier, Class, Classifier, Collaboration, CommunicationPath, Component, DataType, DeploymentSpecification, Device, EncapsulatedClassifier, Enumeration, ExecutionEnvironment, Extension, ExtensionEnd, FunctionBehavior, InformationItem, Interaction, Interface, Model, Node, OpaqueBehavior, Operation, Package, Port, PrimitiveType, Profile, Property, ProtocolStateMachine, Signal, StateMachine, Stereotype, StringExpression, StructuredClassifier, UseCase

    public interface TemplateableElement

extends Element

A representation of the model object 'Templateable Element'. A templateable element is an element that can optionally be defined as a template and bound to other templates.

The following features are supported:

- `Template Binding`
- `Owned Template Signature`

See Also:
  `UMLPackage.getTemplateableElement()`

Method Summary
`TemplateSignature` `createOwnedTemplateSignature()` Creates a new `TemplateSignature` and sets the 'Owned Template Signature' containment reference
`TemplateSignature` `createOwnedTemplateSignature(org.eclipse.emf.ecore.EClass eClass)` Creates a new `TemplateSignature` and sets the 'Owned Template Signature' containment reference
`TemplateBinding` `createTemplateBinding(TemplateSignature signature)` Creates a new `TemplateBinding`, with the specified 'Signature', and appends it to the 'Template Binding' containment reference list
`TemplateSignature` `getOwnedTemplateSignature()` Returns the value of the 'Owned Template Signature' containment reference.
`TemplateBinding` `getTemplateBinding(TemplateSignature signature)` Retrieves the first `TemplateBinding` with the specified 'Signature' from the 'Template Binding' containment reference list
`TemplateBinding` `getTemplateBinding(TemplateSignature signature, boolean createOnDemand)` Retrieves the first `TemplateBinding` with the specified 'Signature' from the 'Template Binding' containment reference list
`org.eclipse.emf.common.util.EList<TemplateBinding>` `getTemplateBindings()` Returns the value of the 'Template Binding' containment reference list.
`boolean` `isTemplate()` The query isTemplate() returns whether this templateable element is actually a template.
`org.eclipse.emf.common.util.EList<ParameterableElement>` `parameterableElements()` The query parameterableElements() returns the set of elements that may be used as the parametered elements for a template parameter of this templateable element.
`void` `setOwnedTemplateSignature(TemplateSignature value)` Sets the value of the '`Owned Template Signature`' containment reference

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

### getTemplateBindings

    org.eclipse.emf.common.util.EList<TemplateBinding> getTemplateBindings()

  Returns the value of the 'Template Binding' containment reference list. The list contents are of type `TemplateBinding`. It is bidirectional and its opposite is '`Bound Element`'.

  This feature subsets the following features:

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

  Returns:
    the value of the 'Template Binding' containment reference list.
  See Also:
    `UMLPackage.getTemplateableElement_TemplateBinding()`, `TemplateBinding.getBoundElement()`

### createTemplateBinding

    TemplateBinding createTemplateBinding(TemplateSignature signature)

  Creates a new `TemplateBinding`, with the specified 'Signature', and appends it to the 'Template Binding' containment reference list.

  Parameters:
    `signature` - The 'Signature' for the new `TemplateBinding`, or `null`.
  Returns:
    The new `TemplateBinding`.
  See Also:
    `getTemplateBindings()`

### getTemplateBinding

    TemplateBinding getTemplateBinding(TemplateSignature signature)

  Retrieves the first `TemplateBinding` with the specified 'Signature' from the 'Template Binding' containment reference list.

  Parameters:
    `signature` - The 'Signature' of the `TemplateBinding` to retrieve, or `null`.
  Returns:
    The first `TemplateBinding` with the specified 'Signature', or `null`.
  See Also:
    `getTemplateBindings()`

### getTemplateBinding

    TemplateBinding getTemplateBinding(TemplateSignature signature,
                                       boolean createOnDemand)

  Retrieves the first `TemplateBinding` with the specified 'Signature' from the 'Template Binding' containment reference list.

  Parameters:
    `signature` - The 'Signature' of the `TemplateBinding` to retrieve, or `null`.
    `createOnDemand` - Whether to create a `TemplateBinding` on demand if not found.
  Returns:
    The first `TemplateBinding` with the specified 'Signature', or `null`.
  See Also:
    `getTemplateBindings()`

### getOwnedTemplateSignature

    TemplateSignature getOwnedTemplateSignature()

  Returns the value of the 'Owned Template Signature' containment reference. It is bidirectional and its opposite is '`Template`'.

  This feature subsets the following features:

  - '`Owned Element`'
  The optional template signature specifying the formal template parameters.

  Returns:
    the value of the 'Owned Template Signature' containment reference.
  See Also:
    `setOwnedTemplateSignature(TemplateSignature)`, `UMLPackage.getTemplateableElement_OwnedTemplateSignature()`, `TemplateSignature.getTemplate()`

### setOwnedTemplateSignature

    void setOwnedTemplateSignature(TemplateSignature value)

  Sets the value of the '`Owned Template Signature`' containment reference.

  Parameters:
    `value` - the new value of the 'Owned Template Signature' containment reference.
  See Also:
    `getOwnedTemplateSignature()`

### createOwnedTemplateSignature

    TemplateSignature createOwnedTemplateSignature(org.eclipse.emf.ecore.EClass eClass)

  Creates a new `TemplateSignature` and sets the 'Owned Template Signature' containment reference.

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

### createOwnedTemplateSignature

    TemplateSignature createOwnedTemplateSignature()

  Creates a new `TemplateSignature` and sets the 'Owned Template Signature' containment reference.

  Returns:
    The new `TemplateSignature`.
  See Also:
    `getOwnedTemplateSignature()`

### parameterableElements

    org.eclipse.emf.common.util.EList<ParameterableElement> parameterableElements()

  The query parameterableElements() returns the set of elements that may be used as the parametered elements for a template parameter of this templateable element. By default, this set includes all the owned elements. Subclasses may override this operation if they choose to restrict the set of parameterable elements. result = allOwnedElements->select(oclIsKindOf(ParameterableElement))

### isTemplate

    boolean isTemplate()

  The query isTemplate() returns whether this templateable element is actually a template. result = ownedTemplateSignature->notEmpty()

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