## org.eclipse.uml2.uml
Interface CollaborationUse

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

    public interface CollaborationUse

extends NamedElement

A representation of the model object 'Collaboration Use'. A collaboration use represents one particular use of a collaboration to explain the relationships between the properties of a classifier. A collaboration use shows how the pattern described by a collaboration is applied in a given context, by binding specific entities from that context to the roles of the collaboration. Depending on the context, these entities could be structural features of a classifier, instance specifications, or even roles in some containing collaboration. There may be multiple occurrences of a given collaboration within a classifier, each involving a different set of roles and connectors. A given role or connector may be involved in multiple occurrences of the same or different collaborations. Associated dependencies map features of the collaboration type to features in the classifier. These dependencies indicate which role in the classifier plays which role in the collaboration.

The following features are supported:

- `Type`
- `Role Binding`

See Also:
  `UMLPackage.getCollaborationUse()`

Field Summary

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

Method Summary
`Dependency` `createRoleBinding(java.lang.String name)` Creates a new `Dependency`, with the specified 'Name', and appends it to the 'Role Binding' containment reference list
`Dependency` `createRoleBinding(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)` Creates a new `Dependency`, with the specified 'Name', and appends it to the 'Role Binding' containment reference list
`Dependency` `getRoleBinding(java.lang.String name)` Retrieves the first `Dependency` with the specified 'Name' from the 'Role Binding' containment reference list
`Dependency` `getRoleBinding(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)` Retrieves the first `Dependency` with the specified 'Name' from the 'Role Binding' containment reference list
`org.eclipse.emf.common.util.EList<Dependency>` `getRoleBindings()` Returns the value of the 'Role Binding' containment reference list.
`Collaboration` `getType()` Returns the value of the 'Type' reference
`void` `setType(Collaboration value)` Sets the value of the '`Type`' reference
`boolean` `validateClientElements(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` All the client elements of a roleBinding are in one classifier and all supplier elements of a roleBinding are in one collaboration and they are compatible.
`boolean` `validateConnectors(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The connectors in the classifier connect according to the connectors in the collaboration true
`boolean` `validateEveryRole(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` Every role in the collaboration is bound within the collaboration use to a connectable element within the classifier or operation.

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

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

Method Detail

### getType

    Collaboration getType()

  Returns the value of the 'Type' reference. The collaboration which is used in this occurrence. The collaboration defines the cooperation between its roles which are mapped to properties of the classifier owning the collaboration use.

  Returns:
    the value of the 'Type' reference.
  See Also:
    `setType(Collaboration)`, `UMLPackage.getCollaborationUse_Type()`

### setType

    void setType(Collaboration value)

  Sets the value of the '`Type`' reference.

  Parameters:
    `value` - the new value of the 'Type' reference.
  See Also:
    `getType()`

### getRoleBindings

    org.eclipse.emf.common.util.EList<Dependency> getRoleBindings()

  Returns the value of the 'Role Binding' containment reference list. The list contents are of type `Dependency`.

  This feature subsets the following features:

  - '`Owned Element`'
  A mapping between features of the collaboration type and features of the classifier or operation. This mapping indicates which connectable element of the classifier or operation plays which role(s) in the collaboration. A connectable element may be bound to multiple roles in the same collaboration use (that is, it may play multiple roles).

  Returns:
    the value of the 'Role Binding' containment reference list.
  See Also:
    `UMLPackage.getCollaborationUse_RoleBinding()`

### createRoleBinding

    Dependency createRoleBinding(java.lang.String name,
                                 org.eclipse.emf.ecore.EClass eClass)

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

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

### createRoleBinding

    Dependency createRoleBinding(java.lang.String name)

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

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

### getRoleBinding

    Dependency getRoleBinding(java.lang.String name)

  Retrieves the first `Dependency` with the specified 'Name' from the 'Role Binding' containment reference list.

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

### getRoleBinding

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

  Retrieves the first `Dependency` with the specified 'Name' from the 'Role Binding' containment reference list.

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

### validateClientElements

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

  All the client elements of a roleBinding are in one classifier and all supplier elements of a roleBinding are in one collaboration and they are compatible. true

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

### validateEveryRole

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

  Every role in the collaboration is bound within the collaboration use to a connectable element within the classifier or operation. true

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

### validateConnectors

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

  The connectors in the classifier connect according to the connectors in the collaboration 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.