## org.eclipse.uml2.uml
Interface Extend

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

    public interface Extend

extends NamedElement, DirectedRelationship

A representation of the model object 'Extend'. A relationship from an extending use case to an extended use case that specifies how and when the behavior defined in the extending use case can be inserted into the behavior defined in the extended use case.

The following features are supported:

- `Extended Case`
- `Condition`
- `Extension Location`
- `Extension`

See Also:
  `UMLPackage.getExtend()`

Field Summary

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

Method Summary
`Constraint` `createCondition(java.lang.String name)` Creates a new `Constraint`,with the specified 'Name', and sets the 'Condition' containment reference
`Constraint` `createCondition(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)` Creates a new `Constraint`, with the specified 'Name', and sets the 'Condition' containment reference
`Constraint` `getCondition()` Returns the value of the 'Condition' containment reference
`UseCase` `getExtendedCase()` Returns the value of the 'Extended Case' reference
`UseCase` `getExtension()` Returns the value of the 'Extension' container reference.
`ExtensionPoint` `getExtensionLocation(java.lang.String name)` Retrieves the first `ExtensionPoint` with the specified 'Name' from the 'Extension Location' reference list
`ExtensionPoint` `getExtensionLocation(java.lang.String name, boolean ignoreCase)` Retrieves the first `ExtensionPoint` with the specified 'Name' from the 'Extension Location' reference list
`org.eclipse.emf.common.util.EList<ExtensionPoint>` `getExtensionLocations()` Returns the value of the 'Extension Location' reference list.
`void` `setCondition(Constraint value)` Sets the value of the '`Condition`' containment reference
`void` `setExtendedCase(UseCase value)` Sets the value of the '`Extended Case`' reference
`void` `setExtension(UseCase value)` Sets the value of the '`Extension`' container reference
`boolean` `validateExtensionPoints(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The extension points referenced by the extend relationship must belong to the use case that is being extended.

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

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

Method Detail

### getExtendedCase

    UseCase getExtendedCase()

  Returns the value of the 'Extended Case' reference. References the use case that is being extended.

  Returns:
    the value of the 'Extended Case' reference.
  See Also:
    `setExtendedCase(UseCase)`, `UMLPackage.getExtend_ExtendedCase()`

### setExtendedCase

    void setExtendedCase(UseCase value)

  Sets the value of the '`Extended Case`' reference.

  Parameters:
    `value` - the new value of the 'Extended Case' reference.
  See Also:
    `getExtendedCase()`

### getCondition

    Constraint getCondition()

  Returns the value of the 'Condition' containment reference. References the condition that must hold when the first extension point is reached for the extension to take place. If no constraint is associated with the extend relationship, the extension is unconditional.

  Returns:
    the value of the 'Condition' containment reference.
  See Also:
    `setCondition(Constraint)`, `UMLPackage.getExtend_Condition()`

### setCondition

    void setCondition(Constraint value)

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

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

### createCondition

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

  Creates a new `Constraint`, with the specified 'Name', and sets the 'Condition' containment 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:
    `getCondition()`

### createCondition

    Constraint createCondition(java.lang.String name)

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

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

### getExtensionLocations

    org.eclipse.emf.common.util.EList<ExtensionPoint> getExtensionLocations()

  Returns the value of the 'Extension Location' reference list. The list contents are of type `ExtensionPoint`. An ordered list of extension points belonging to the extended use case, specifying where the respective behavioral fragments of the extending use case are to be inserted. The first fragment in the extending use case is associated with the first extension point in the list, the second fragment with the second point, and so on. (Note that, in most practical cases, the extending use case has just a single behavior fragment, so that the list of extension points is trivial.)

  Returns:
    the value of the 'Extension Location' reference list.
  See Also:
    `UMLPackage.getExtend_ExtensionLocation()`

### getExtensionLocation

    ExtensionPoint getExtensionLocation(java.lang.String name)

  Retrieves the first `ExtensionPoint` with the specified 'Name' from the 'Extension Location' reference list.

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

### getExtensionLocation

    ExtensionPoint getExtensionLocation(java.lang.String name,
                                        boolean ignoreCase)

  Retrieves the first `ExtensionPoint` with the specified 'Name' from the 'Extension Location' reference list.

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

### getExtension

    UseCase getExtension()

  Returns the value of the 'Extension' container reference. It is bidirectional and its opposite is '`Extend`'. References the use case that represents the extension and owns the extend relationship.

  Returns:
    the value of the 'Extension' container reference.
  See Also:
    `setExtension(UseCase)`, `UMLPackage.getExtend_Extension()`, `UseCase.getExtends()`

### setExtension

    void setExtension(UseCase value)

  Sets the value of the '`Extension`' container reference.

  Parameters:
    `value` - the new value of the 'Extension' container reference.
  See Also:
    `getExtension()`

### validateExtensionPoints

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

  The extension points referenced by the extend relationship must belong to the use case that is being extended. extensionLocation->forAll (xp | extendedCase.extensionPoint->includes(xp))

  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.