## org.eclipse.uml2.uml
Interface Dependency

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

All Known Subinterfaces:
  Abstraction, ComponentRealization, Deployment, InterfaceRealization, Manifestation, Realization, Substitution, Usage

    public interface Dependency

extends PackageableElement, DirectedRelationship

A representation of the model object 'Dependency'. A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation. This means that the complete semantics of the depending elements is either semantically or structurally dependent on the definition of the supplier element(s).

The following features are supported:

- `Supplier`
- `Client`

See Also:
  `UMLPackage.getDependency()`

Field Summary

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

Method Summary
`NamedElement` `getClient(java.lang.String name)` Retrieves the first `NamedElement` with the specified 'Name' from the 'Client' reference list
`NamedElement` `getClient(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)` Retrieves the first `NamedElement` with the specified 'Name' from the 'Client' reference list
`org.eclipse.emf.common.util.EList<NamedElement>` `getClients()` Returns the value of the 'Client' reference list.
`NamedElement` `getSupplier(java.lang.String name)` Retrieves the first `NamedElement` with the specified 'Name' from the 'Supplier' reference list
`NamedElement` `getSupplier(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)` Retrieves the first `NamedElement` with the specified 'Name' from the 'Supplier' reference list
`org.eclipse.emf.common.util.EList<NamedElement>` `getSuppliers()` Returns the value of the 'Supplier' reference list.

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`

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, 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.DirectedRelationship
`getSources, getTargets`

Methods inherited from interface org.eclipse.uml2.uml.Relationship
`getRelatedElements`

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

### getSuppliers

    org.eclipse.emf.common.util.EList<NamedElement> getSuppliers()

  Returns the value of the 'Supplier' reference list. The list contents are of type `NamedElement`. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific.

  Returns:
    the value of the 'Supplier' reference list.
  See Also:
    `UMLPackage.getDependency_Supplier()`

### getSupplier

    NamedElement getSupplier(java.lang.String name)

  Retrieves the first `NamedElement` with the specified 'Name' from the 'Supplier' reference list.

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

### getSupplier

    NamedElement getSupplier(java.lang.String name,
                             boolean ignoreCase,
                             org.eclipse.emf.ecore.EClass eClass)

  Retrieves the first `NamedElement` with the specified 'Name' from the 'Supplier' reference list.

  Parameters:
    `name` - The 'Name' of the `NamedElement` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
    `eClass` - The Ecore class of the `NamedElement` to retrieve, or `null`.
  Returns:
    The first `NamedElement` with the specified 'Name', or `null`.
  See Also:
    `getSuppliers()`

### getClients

    org.eclipse.emf.common.util.EList<NamedElement> getClients()

  Returns the value of the 'Client' reference list. The list contents are of type `NamedElement`. It is bidirectional and its opposite is '`Client Dependency`'. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation.

  Returns:
    the value of the 'Client' reference list.
  See Also:
    `UMLPackage.getDependency_Client()`, `NamedElement.getClientDependencies()`

### getClient

    NamedElement getClient(java.lang.String name)

  Retrieves the first `NamedElement` with the specified 'Name' from the 'Client' reference list.

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

### getClient

    NamedElement getClient(java.lang.String name,
                           boolean ignoreCase,
                           org.eclipse.emf.ecore.EClass eClass)

  Retrieves the first `NamedElement` with the specified 'Name' from the 'Client' reference list.

  Parameters:
    `name` - The 'Name' of the `NamedElement` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
    `eClass` - The Ecore class of the `NamedElement` to retrieve, or `null`.
  Returns:
    The first `NamedElement` with the specified 'Name', or `null`.
  See Also:
    `getClients()`

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