## org.eclipse.uml2.uml
Interface ProtocolTransition

All Superinterfaces:
  Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, NamedElement, Namespace, org.eclipse.emf.common.notify.Notifier, RedefinableElement, Transition

    public interface ProtocolTransition

extends Transition

A representation of the model object 'Protocol Transition'. A protocol transition specifies a legal transition for an operation. Transitions of protocol state machines have the following information: a pre condition (guard), on trigger, and a post condition. Every protocol transition is associated to zero or one operation (referred BehavioralFeature) that belongs to the context classifier of the protocol state machine.

The following features are supported:

- `Post Condition`
- `Referred`
- `Pre Condition`

See Also:
  `UMLPackage.getProtocolTransition()`

Field Summary

Fields inherited from interface org.eclipse.uml2.uml.NamedElement
`SEPARATOR`

Fields inherited from interface org.eclipse.uml2.uml.NamedElement
`SEPARATOR`

Method Summary
`Constraint` `createPostCondition(java.lang.String name)` Creates a new `Constraint`,with the specified 'Name', and sets the 'Post Condition' reference
`Constraint` `createPostCondition(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)` Creates a new `Constraint`, with the specified 'Name', and sets the 'Post Condition' reference
`Constraint` `getPostCondition()` Returns the value of the 'Post Condition' reference.
`Constraint` `getPreCondition()` Returns the value of the 'Pre Condition' reference.
`Operation` `getReferred(java.lang.String name, org.eclipse.emf.common.util.EList<java.lang.String> ownedParameterNames, org.eclipse.emf.common.util.EList<Type> ownedParameterTypes)` Retrieves the first `Operation` with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Referred' reference list
`Operation` `getReferred(java.lang.String name, org.eclipse.emf.common.util.EList<java.lang.String> ownedParameterNames, org.eclipse.emf.common.util.EList<Type> ownedParameterTypes, boolean ignoreCase)` Retrieves the first `Operation` with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Referred' reference list
`org.eclipse.emf.common.util.EList<Operation>` `getReferreds()` Returns the value of the 'Referred' reference list.
`void` `setPostCondition(Constraint value)` Sets the value of the '`Post Condition`' reference
`void` `setPreCondition(Constraint value)` Sets the value of the '`Pre Condition`' reference
`boolean` `validateAssociatedActions(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A protocol transition never has associated actions.
`boolean` `validateBelongsToPsm(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A protocol transition always belongs to a protocol state machine.
`boolean` `validateRefersToOperation(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` If a protocol transition refers to an operation (i. e. has a call trigger corresponding to an operation), then that operation should apply to the context classifier of the state machine of the protocol transition.

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

`containingStateMachine, createEffect, createGuard, createGuard, createTrigger, getContainer, getEffect, getGuard, getKind, getRedefinedTransition, getSource, getTarget, getTrigger, getTrigger, getTriggers, redefinitionContext, setContainer, setEffect, setGuard, setKind, setRedefinedTransition, setSource, setTarget, validateForkSegmentGuards, validateForkSegmentState, validateInitialTransition, validateJoinSegmentGuards, validateJoinSegmentState, validateOutgoingPseudostates, validateSignaturesCompatible`

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.NamedElement

`allNamespaces, allOwningPackages, createDependency, createNameExpression, createUsage, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership`

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.NamedElement

`allNamespaces, allOwningPackages, createDependency, createNameExpression, createUsage, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership`

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

### getPostCondition

    Constraint getPostCondition()

  Returns the value of the 'Post Condition' reference.

  This feature subsets the following features:

  - '`Owned Rule`'
  Specifies the post condition of the transition which is the condition that should be obtained once the transition is triggered. This post condition is part of the post condition of the operation connected to the transition.

  Returns:
    the value of the 'Post Condition' reference.
  See Also:
    `setPostCondition(Constraint)`, `UMLPackage.getProtocolTransition_PostCondition()`

### setPostCondition

    void setPostCondition(Constraint value)

  Sets the value of the '`Post Condition`' reference.

  Parameters:
    `value` - the new value of the 'Post Condition' reference.
  See Also:
    `getPostCondition()`

### createPostCondition

    Constraint createPostCondition(java.lang.String name,
                                   org.eclipse.emf.ecore.EClass eClass)

  Creates a new `Constraint`, with the specified 'Name', and sets the 'Post Condition' reference.

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

### createPostCondition

    Constraint createPostCondition(java.lang.String name)

  Creates a new `Constraint`,with the specified 'Name', and sets the 'Post Condition' reference.

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

### getReferreds

    org.eclipse.emf.common.util.EList<Operation> getReferreds()

  Returns the value of the 'Referred' reference list. The list contents are of type `Operation`. This association refers to the associated operation. It is derived from the operation of the call trigger when applicable.

  Returns:
    the value of the 'Referred' reference list.
  See Also:
    `UMLPackage.getProtocolTransition_Referred()`

### getReferred

    Operation getReferred(java.lang.String name,
                          org.eclipse.emf.common.util.EList<java.lang.String> ownedParameterNames,
                          org.eclipse.emf.common.util.EList<Type> ownedParameterTypes)

  Retrieves the first `Operation` with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Referred' reference list.

  Parameters:
    `name` - The 'Name' of the `Operation` to retrieve, or `null`.
    `ownedParameterNames` - The 'Owned Parameter Names' of the `Operation` to retrieve, or `null`.
    `ownedParameterTypes` - The 'Owned Parameter Types' of the `Operation` to retrieve, or `null`.
  Returns:
    The first `Operation` with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types', or `null`.
  See Also:
    `getReferreds()`

### getReferred

    Operation getReferred(java.lang.String name,
                          org.eclipse.emf.common.util.EList<java.lang.String> ownedParameterNames,
                          org.eclipse.emf.common.util.EList<Type> ownedParameterTypes,
                          boolean ignoreCase)

  Retrieves the first `Operation` with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Referred' reference list.

  Parameters:
    `name` - The 'Name' of the `Operation` to retrieve, or `null`.
    `ownedParameterNames` - The 'Owned Parameter Names' of the `Operation` to retrieve, or `null`.
    `ownedParameterTypes` - The 'Owned Parameter Types' of the `Operation` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
  Returns:
    The first `Operation` with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types', or `null`.
  See Also:
    `getReferreds()`

### getPreCondition

    Constraint getPreCondition()

  Returns the value of the 'Pre Condition' reference.

  This feature subsets the following features:

  - '`Guard`'
  Specifies the precondition of the transition. It specifies the condition that should be verified before triggering the transition. This guard condition added to the source state will be evaluated as part of the precondition of the operation referred by the transition if any.

  Returns:
    the value of the 'Pre Condition' reference.
  See Also:
    `setPreCondition(Constraint)`, `UMLPackage.getProtocolTransition_PreCondition()`

### setPreCondition

    void setPreCondition(Constraint value)

  Sets the value of the '`Pre Condition`' reference.

  Parameters:
    `value` - the new value of the 'Pre Condition' reference.
  See Also:
    `getPreCondition()`

### validateBelongsToPsm

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

  A protocol transition always belongs to a protocol state machine. container.belongsToPSM()

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateAssociatedActions

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

  A protocol transition never has associated actions. effect->isEmpty()

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateRefersToOperation

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

  If a protocol transition refers to an operation (i. e. has a call trigger corresponding to an operation), then that operation should apply to the context classifier of the state machine of the protocol transition. true

  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.