## org.eclipse.uml2.uml
Interface ParameterableElement

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

All Known Subinterfaces:
  Abstraction, Activity, Actor, AnyReceiveEvent, Artifact, Association, AssociationClass, Behavior, BehavioredClassifier, CallEvent, ChangeEvent, Class, Classifier, Collaboration, CommunicationPath, Component, ComponentRealization, ConnectableElement, Constraint, CreationEvent, DataType, Dependency, Deployment, DeploymentSpecification, DestructionEvent, Device, Duration, DurationConstraint, DurationInterval, DurationObservation, EncapsulatedClassifier, Enumeration, EnumerationLiteral, Event, ExecutionEnvironment, ExecutionEvent, Expression, Extension, ExtensionEnd, FunctionBehavior, GeneralizationSet, InformationFlow, InformationItem, InstanceSpecification, InstanceValue, Interaction, InteractionConstraint, Interface, InterfaceRealization, Interval, IntervalConstraint, LiteralBoolean, LiteralInteger, LiteralNull, LiteralSpecification, LiteralString, LiteralUnlimitedNatural, Manifestation, MessageEvent, Model, Node, Observation, OpaqueBehavior, OpaqueExpression, Operation, Package, PackageableElement, Parameter, Port, PrimitiveType, Profile, Property, ProtocolStateMachine, Realization, ReceiveOperationEvent, ReceiveSignalEvent, SendOperationEvent, SendSignalEvent, Signal, SignalEvent, StateMachine, Stereotype, StringExpression, StructuredClassifier, Substitution, TimeConstraint, TimeEvent, TimeExpression, TimeInterval, TimeObservation, Type, Usage, UseCase, ValueSpecification, Variable

    public interface ParameterableElement

extends Element

A representation of the model object 'Parameterable Element'. A parameterable element is an element that can be exposed as a formal template parameter for a template, or specified as an actual parameter in a binding of a template.

The following features are supported:

- `Owning Template Parameter`
- `Template Parameter`

See Also:
  `UMLPackage.getParameterableElement()`

Method Summary
`TemplateParameter` `getOwningTemplateParameter()` Returns the value of the 'Owning Template Parameter' container reference.
`TemplateParameter` `getTemplateParameter()` Returns the value of the 'Template Parameter' reference.
`boolean` `isCompatibleWith(ParameterableElement p)` The query isCompatibleWith() determines if this parameterable element is compatible with the specified parameterable element.
`boolean` `isTemplateParameter()` The query isTemplateParameter() determines if this parameterable element is exposed as a formal template parameter.
`void` `setOwningTemplateParameter(TemplateParameter value)` Sets the value of the '`Owning Template Parameter`' container reference
`void` `setTemplateParameter(TemplateParameter value)` Sets the value of the '`Template Parameter`' 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

### getTemplateParameter

    TemplateParameter getTemplateParameter()

  Returns the value of the 'Template Parameter' reference. It is bidirectional and its opposite is '`Parametered Element`'. The template parameter that exposes this element as a formal parameter.

  Returns:
    the value of the 'Template Parameter' reference.
  See Also:
    `setTemplateParameter(TemplateParameter)`, `UMLPackage.getParameterableElement_TemplateParameter()`, `TemplateParameter.getParameteredElement()`

### setTemplateParameter

    void setTemplateParameter(TemplateParameter value)

  Sets the value of the '`Template Parameter`' reference.

  Parameters:
    `value` - the new value of the 'Template Parameter' reference.
  See Also:
    `getTemplateParameter()`

### getOwningTemplateParameter

    TemplateParameter getOwningTemplateParameter()

  Returns the value of the 'Owning Template Parameter' container reference. It is bidirectional and its opposite is '`Owned Parametered Element`'.

  This feature subsets the following features:

  - '`Owner`'
  - '`Template Parameter`'
  The formal template parameter that owns this element.

  Returns:
    the value of the 'Owning Template Parameter' container reference.
  See Also:
    `setOwningTemplateParameter(TemplateParameter)`, `UMLPackage.getParameterableElement_OwningTemplateParameter()`, `TemplateParameter.getOwnedParameteredElement()`

### setOwningTemplateParameter

    void setOwningTemplateParameter(TemplateParameter value)

  Sets the value of the '`Owning Template Parameter`' container reference.

  Parameters:
    `value` - the new value of the 'Owning Template Parameter' container reference.
  See Also:
    `getOwningTemplateParameter()`

### isCompatibleWith

    boolean isCompatibleWith(ParameterableElement p)

  The query isCompatibleWith() determines if this parameterable element is compatible with the specified parameterable element. By default parameterable element P is compatible with parameterable element Q if the kind of P is the same or a subtype as the kind of Q. Subclasses should override this operation to specify different compatibility constraints. result = p->oclIsKindOf(self.oclType)

### isTemplateParameter

    boolean isTemplateParameter()

  The query isTemplateParameter() determines if this parameterable element is exposed as a formal template parameter. result = templateParameter->notEmpty()

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