## org.eclipse.uml2.uml
Interface Interaction

All Superinterfaces:
  Behavior, BehavioredClassifier, Class, Classifier, Element, org.eclipse.emf.ecore.EModelElement, EncapsulatedClassifier, org.eclipse.emf.ecore.EObject, InteractionFragment, NamedElement, Namespace, org.eclipse.emf.common.notify.Notifier, PackageableElement, ParameterableElement, RedefinableElement, StructuredClassifier, TemplateableElement, Type

    public interface Interaction

extends Behavior, InteractionFragment

A representation of the model object 'Interaction'. An interaction is a unit of behavior that focuses on the observable exchange of information between connectable elements.

The following features are supported:

- `Lifeline`
- `Fragment`
- `Action`
- `Formal Gate`
- `Message`

See Also:
  `UMLPackage.getInteraction()`

Method Summary
`Action` `createAction(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)` Creates a new `Action`, with the specified 'Name', and appends it to the 'Action' containment reference list
`Gate` `createFormalGate(java.lang.String name)` Creates a new `Gate`, with the specified 'Name', and appends it to the 'Formal Gate' containment reference list
`InteractionFragment` `createFragment(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)` Creates a new `InteractionFragment`, with the specified 'Name', and appends it to the 'Fragment' containment reference list
`Lifeline` `createLifeline(java.lang.String name)` Creates a new `Lifeline`, with the specified 'Name', and appends it to the 'Lifeline' containment reference list
`Message` `createMessage(java.lang.String name)` Creates a new `Message`, with the specified 'Name', and appends it to the 'Message' containment reference list
`Action` `getAction(java.lang.String name)` Retrieves the first `Action` with the specified 'Name' from the 'Action' containment reference list
`Action` `getAction(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)` Retrieves the first `Action` with the specified 'Name' from the 'Action' containment reference list
`org.eclipse.emf.common.util.EList<Action>` `getActions()` Returns the value of the 'Action' containment reference list.
`Gate` `getFormalGate(java.lang.String name)` Retrieves the first `Gate` with the specified 'Name' from the 'Formal Gate' containment reference list
`Gate` `getFormalGate(java.lang.String name, boolean ignoreCase, boolean createOnDemand)` Retrieves the first `Gate` with the specified 'Name' from the 'Formal Gate' containment reference list
`org.eclipse.emf.common.util.EList<Gate>` `getFormalGates()` Returns the value of the 'Formal Gate' containment reference list.
`InteractionFragment` `getFragment(java.lang.String name)` Retrieves the first `InteractionFragment` with the specified 'Name' from the 'Fragment' containment reference list
`InteractionFragment` `getFragment(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)` Retrieves the first `InteractionFragment` with the specified 'Name' from the 'Fragment' containment reference list
`org.eclipse.emf.common.util.EList<InteractionFragment>` `getFragments()` Returns the value of the 'Fragment' containment reference list.
`Lifeline` `getLifeline(java.lang.String name)` Retrieves the first `Lifeline` with the specified 'Name' from the 'Lifeline' containment reference list
`Lifeline` `getLifeline(java.lang.String name, boolean ignoreCase, boolean createOnDemand)` Retrieves the first `Lifeline` with the specified 'Name' from the 'Lifeline' containment reference list
`org.eclipse.emf.common.util.EList<Lifeline>` `getLifelines()` Returns the value of the 'Lifeline' containment reference list.
`Message` `getMessage(java.lang.String name)` Retrieves the first `Message` with the specified 'Name' from the 'Message' containment reference list
`Message` `getMessage(java.lang.String name, boolean ignoreCase, boolean createOnDemand)` Retrieves the first `Message` with the specified 'Name' from the 'Message' containment reference list
`org.eclipse.emf.common.util.EList<Message>` `getMessages()` Returns the value of the 'Message' containment reference list.

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

`createOwnedParameter, createOwnedParameterSet, createPostcondition, createPostcondition, createPrecondition, createPrecondition, getContext, getOwnedParameter, getOwnedParameter, getOwnedParameters, getOwnedParameterSet, getOwnedParameterSet, getOwnedParameterSets, getPostcondition, getPostcondition, getPostconditions, getPrecondition, getPrecondition, getPreconditions, getRedefinedBehavior, getRedefinedBehavior, getRedefinedBehaviors, getSpecification, isReentrant, setIsReentrant, setSpecification, validateFeatureOfContextClassifier, validateMostOneBehaviour, validateMustRealize, validateParametersMatch`

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

`createNestedClassifier, createOwnedOperation, createOwnedOperation, createOwnedReception, getExtension, getExtension, getExtensions, getNestedClassifier, getNestedClassifier, getNestedClassifiers, getOwnedOperation, getOwnedOperation, getOwnedOperations, getOwnedReception, getOwnedReception, getOwnedReceptions, getSuperClass, getSuperClass, getSuperClasses, isActive, isMetaclass, setIsActive, validatePassiveClass`

Methods inherited from interface org.eclipse.uml2.uml.EncapsulatedClassifier
`createOwnedPort, getOwnedPort, getOwnedPort, getOwnedPorts`

Methods inherited from interface org.eclipse.uml2.uml.StructuredClassifier
`createOwnedAttribute, createOwnedAttribute, createOwnedAttribute, createOwnedConnector, getOwnedAttribute, getOwnedAttribute, getOwnedAttributes, getOwnedConnector, getOwnedConnector, getOwnedConnectors, getPart, getPart, getParts, getRole, getRole, getRoles, validateMultiplicities`

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

`allFeatures, allParents, conformsTo, createCollaborationUse, createGeneralization, createOwnedUseCase, createRepresentation, createSubstitution, getAllAttributes, getAllOperations, getAllUsedInterfaces, getAttribute, getAttribute, getAttributes, getCollaborationUse, getCollaborationUse, getCollaborationUses, getFeature, getFeature, getFeatures, getGeneral, getGeneral, getGeneralization, getGeneralization, getGeneralizations, getGenerals, getInheritedMember, getInheritedMember, getInheritedMembers, getOperation, getOperation, getOperations, getOwnedUseCase, getOwnedUseCase, getOwnedUseCases, getPowertypeExtent, getPowertypeExtent, getPowertypeExtents, getRedefinedClassifier, getRedefinedClassifier, getRedefinedClassifiers, getRepresentation, getSubstitution, getSubstitution, getSubstitutions, getUseCase, getUseCase, getUseCases, getUsedInterfaces, hasVisibilityOf, inherit, inheritableMembers, isAbstract, maySpecializeType, parents, setIsAbstract, setRepresentation, validateGeneralizationHierarchies, validateMapsToGeneralizationSet, validateNoCyclesInGeneralization, validateSpecializeType`

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

`createElementImport, createElementImport, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateMembersDistinguishable`

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`

Methods inherited from interface org.eclipse.uml2.uml.RedefinableElement
`getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid`

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`

Methods inherited from interface org.eclipse.uml2.uml.Type
`conformsTo, createAssociation, getAssociations, getPackage, setPackage`

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`

Methods inherited from interface org.eclipse.uml2.uml.ParameterableElement
`getOwningTemplateParameter, getTemplateParameter, isCompatibleWith, isTemplateParameter, setOwningTemplateParameter, setTemplateParameter`

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`

Methods inherited from interface org.eclipse.uml2.uml.TemplateableElement
`createOwnedTemplateSignature, createOwnedTemplateSignature, createTemplateBinding, getOwnedTemplateSignature, getTemplateBinding, getTemplateBinding, getTemplateBindings, isTemplate, parameterableElements, setOwnedTemplateSignature`

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

`createClassifierBehavior, createInterfaceRealization, createOwnedBehavior, createOwnedTrigger, getAllImplementedInterfaces, getClassifierBehavior, getImplementedInterfaces, getInterfaceRealization, getInterfaceRealization, getInterfaceRealizations, getOwnedBehavior, getOwnedBehavior, getOwnedBehaviors, getOwnedTrigger, getOwnedTrigger, getOwnedTriggers, setClassifierBehavior, validateClassBehavior`

Methods inherited from interface org.eclipse.uml2.uml.InteractionFragment
`createGeneralOrdering, getCovered, getCovered, getCovereds, getEnclosingInteraction, getEnclosingOperand, getGeneralOrdering, getGeneralOrdering, getGeneralOrderings, setEnclosingInteraction, setEnclosingOperand`

Method Detail

### getLifelines

    org.eclipse.emf.common.util.EList<Lifeline> getLifelines()

  Returns the value of the 'Lifeline' containment reference list. The list contents are of type `Lifeline`. It is bidirectional and its opposite is '`Interaction`'.

  This feature subsets the following features:

  - '`Owned Member`'
  Specifies the participants in this Interaction.

  Returns:
    the value of the 'Lifeline' containment reference list.
  See Also:
    `UMLPackage.getInteraction_Lifeline()`, `Lifeline.getInteraction()`

### createLifeline

    Lifeline createLifeline(java.lang.String name)

  Creates a new `Lifeline`, with the specified 'Name', and appends it to the 'Lifeline' containment reference list.

  Parameters:
    `name` - The 'Name' for the new `Lifeline`, or `null`.
  Returns:
    The new `Lifeline`.
  See Also:
    `getLifelines()`

### getLifeline

    Lifeline getLifeline(java.lang.String name)

  Retrieves the first `Lifeline` with the specified 'Name' from the 'Lifeline' containment reference list.

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

### getLifeline

    Lifeline getLifeline(java.lang.String name,
                         boolean ignoreCase,
                         boolean createOnDemand)

  Retrieves the first `Lifeline` with the specified 'Name' from the 'Lifeline' containment reference list.

  Parameters:
    `name` - The 'Name' of the `Lifeline` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
    `createOnDemand` - Whether to create a `Lifeline` on demand if not found.
  Returns:
    The first `Lifeline` with the specified 'Name', or `null`.
  See Also:
    `getLifelines()`

### getFragments

    org.eclipse.emf.common.util.EList<InteractionFragment> getFragments()

  Returns the value of the 'Fragment' containment reference list. The list contents are of type `InteractionFragment`. It is bidirectional and its opposite is '`Enclosing Interaction`'.

  This feature subsets the following features:

  - '`Owned Member`'
  The ordered set of fragments in the Interaction.

  Returns:
    the value of the 'Fragment' containment reference list.
  See Also:
    `UMLPackage.getInteraction_Fragment()`, `InteractionFragment.getEnclosingInteraction()`

### createFragment

    InteractionFragment createFragment(java.lang.String name,
                                       org.eclipse.emf.ecore.EClass eClass)

  Creates a new `InteractionFragment`, with the specified 'Name', and appends it to the 'Fragment' containment reference list.

  Parameters:
    `name` - The 'Name' for the new `InteractionFragment`, or `null`.
    `eClass` - The Ecore class of the `InteractionFragment` to create.
  Returns:
    The new `InteractionFragment`.
  See Also:
    `getFragments()`

### getFragment

    InteractionFragment getFragment(java.lang.String name)

  Retrieves the first `InteractionFragment` with the specified 'Name' from the 'Fragment' containment reference list.

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

### getFragment

    InteractionFragment getFragment(java.lang.String name,
                                    boolean ignoreCase,
                                    org.eclipse.emf.ecore.EClass eClass,
                                    boolean createOnDemand)

  Retrieves the first `InteractionFragment` with the specified 'Name' from the 'Fragment' containment reference list.

  Parameters:
    `name` - The 'Name' of the `InteractionFragment` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
    `eClass` - The Ecore class of the `InteractionFragment` to retrieve, or `null`.
    `createOnDemand` - Whether to create a `InteractionFragment` on demand if not found.
  Returns:
    The first `InteractionFragment` with the specified 'Name', or `null`.
  See Also:
    `getFragments()`

### getActions

    org.eclipse.emf.common.util.EList<Action> getActions()

  Returns the value of the 'Action' containment reference list. The list contents are of type `Action`.

  This feature subsets the following features:

  - '`Owned Element`'
  Actions owned by the Interaction.

  Returns:
    the value of the 'Action' containment reference list.
  See Also:
    `UMLPackage.getInteraction_Action()`

### createAction

    Action createAction(java.lang.String name,
                        org.eclipse.emf.ecore.EClass eClass)

  Creates a new `Action`, with the specified 'Name', and appends it to the 'Action' containment reference list.

  Parameters:
    `name` - The 'Name' for the new `Action`, or `null`.
    `eClass` - The Ecore class of the `Action` to create.
  Returns:
    The new `Action`.
  See Also:
    `getActions()`

### getAction

    Action getAction(java.lang.String name)

  Retrieves the first `Action` with the specified 'Name' from the 'Action' containment reference list.

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

### getAction

    Action getAction(java.lang.String name,
                     boolean ignoreCase,
                     org.eclipse.emf.ecore.EClass eClass,
                     boolean createOnDemand)

  Retrieves the first `Action` with the specified 'Name' from the 'Action' containment reference list.

  Parameters:
    `name` - The 'Name' of the `Action` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
    `eClass` - The Ecore class of the `Action` to retrieve, or `null`.
    `createOnDemand` - Whether to create a `Action` on demand if not found.
  Returns:
    The first `Action` with the specified 'Name', or `null`.
  See Also:
    `getActions()`

### getFormalGates

    org.eclipse.emf.common.util.EList<Gate> getFormalGates()

  Returns the value of the 'Formal Gate' containment reference list. The list contents are of type `Gate`.

  This feature subsets the following features:

  - '`Owned Member`'
  Specifies the gates that form the message interface between this Interaction and any InteractionUses which reference it.

  Returns:
    the value of the 'Formal Gate' containment reference list.
  See Also:
    `UMLPackage.getInteraction_FormalGate()`

### createFormalGate

    Gate createFormalGate(java.lang.String name)

  Creates a new `Gate`, with the specified 'Name', and appends it to the 'Formal Gate' containment reference list.

  Parameters:
    `name` - The 'Name' for the new `Gate`, or `null`.
  Returns:
    The new `Gate`.
  See Also:
    `getFormalGates()`

### getFormalGate

    Gate getFormalGate(java.lang.String name)

  Retrieves the first `Gate` with the specified 'Name' from the 'Formal Gate' containment reference list.

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

### getFormalGate

    Gate getFormalGate(java.lang.String name,
                       boolean ignoreCase,
                       boolean createOnDemand)

  Retrieves the first `Gate` with the specified 'Name' from the 'Formal Gate' containment reference list.

  Parameters:
    `name` - The 'Name' of the `Gate` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
    `createOnDemand` - Whether to create a `Gate` on demand if not found.
  Returns:
    The first `Gate` with the specified 'Name', or `null`.
  See Also:
    `getFormalGates()`

### getMessages

    org.eclipse.emf.common.util.EList<Message> getMessages()

  Returns the value of the 'Message' containment reference list. The list contents are of type `Message`. It is bidirectional and its opposite is '`Interaction`'.

  This feature subsets the following features:

  - '`Owned Member`'
  The Messages contained in this Interaction.

  Returns:
    the value of the 'Message' containment reference list.
  See Also:
    `UMLPackage.getInteraction_Message()`, `Message.getInteraction()`

### createMessage

    Message createMessage(java.lang.String name)

  Creates a new `Message`, with the specified 'Name', and appends it to the 'Message' containment reference list.

  Parameters:
    `name` - The 'Name' for the new `Message`, or `null`.
  Returns:
    The new `Message`.
  See Also:
    `getMessages()`

### getMessage

    Message getMessage(java.lang.String name)

  Retrieves the first `Message` with the specified 'Name' from the 'Message' containment reference list.

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

### getMessage

    Message getMessage(java.lang.String name,
                       boolean ignoreCase,
                       boolean createOnDemand)

  Retrieves the first `Message` with the specified 'Name' from the 'Message' containment reference list.

  Parameters:
    `name` - The 'Name' of the `Message` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
    `createOnDemand` - Whether to create a `Message` on demand if not found.
  Returns:
    The first `Message` with the specified 'Name', or `null`.
  See Also:
    `getMessages()`

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