## org.eclipse.uml2.uml
Interface Connector

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

    public interface Connector

extends Feature

A representation of the model object 'Connector'. Specifies a link that enables communication between two or more instances. This link may be an instance of an association, or it may represent the possibility of the instances being able to communicate because their identities are known by virtue of being passed in as parameters, held in variables or slots, or because the communicating instances are the same instance. The link may be realized by something as simple as a pointer or by something as complex as a network connection. In contrast to associations, which specify links between any instance of the associated classifiers, connectors specify links between instances playing the connected parts only. A delegation connector is a connector that links the external contract of a component (as specified by its ports) to the internal realization of that behavior by the component's parts. It represents the forwarding of signals (operation requests and events): a signal that arrives at a port that has a delegation connector to a part or to another port will be passed on to that target for handling. An assembly connector is a connector between two components that defines that one component provides the services that another component requires. An assembly connector is a connector that is defined from a required interface or port to a provided interface or port.

The following features are supported:

- `Type`
- `Redefined Connector`
- `End`
- `Kind`
- `Contract`

See Also:
  `UMLPackage.getConnector()`

Field Summary

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

Method Summary
`ConnectorEnd` `createEnd()` Creates a new `ConnectorEnd` and appends it to the 'End' containment reference list
`Behavior` `getContract(java.lang.String name)` Retrieves the first `Behavior` with the specified 'Name' from the 'Contract' reference list
`Behavior` `getContract(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)` Retrieves the first `Behavior` with the specified 'Name' from the 'Contract' reference list
`org.eclipse.emf.common.util.EList<Behavior>` `getContracts()` Returns the value of the 'Contract' reference list.
`org.eclipse.emf.common.util.EList<ConnectorEnd>` `getEnds()` Returns the value of the 'End' containment reference list.
`ConnectorKind` `getKind()` Returns the value of the 'Kind' attribute.
`Connector` `getRedefinedConnector(java.lang.String name)` Retrieves the first `Connector` with the specified 'Name' from the 'Redefined Connector' reference list
`Connector` `getRedefinedConnector(java.lang.String name, boolean ignoreCase)` Retrieves the first `Connector` with the specified 'Name' from the 'Redefined Connector' reference list
`org.eclipse.emf.common.util.EList<Connector>` `getRedefinedConnectors()` Returns the value of the 'Redefined Connector' reference list.
`Association` `getType()` Returns the value of the 'Type' reference
`boolean` `isSetKind()` Returns whether the value of the '`Kind`' attribute is set
`void` `setKind(ConnectorKind value)` Sets the value of the '`Kind`' attribute
`void` `setType(Association value)` Sets the value of the '`Type`' reference
`void` `unsetKind()` Unsets the value of the '`Kind`' attribute
`boolean` `validateAssemblyConnector(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` An assembly connector must only be defined from a required Interface or Ports to a provided Interface or Port.
`boolean` `validateBetweenInterfacePortImplements(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` If a delegation connector is defined between a used Interface or Port and an internal Part Classifier, then that Classifier must have an 'implements' relationship to the Interface type of that Port.
`boolean` `validateBetweenInterfacePortSignature(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` If a delegation connector is defined between a source Interface or Port and a target Interface or Port, then the target Interface must support a signature compatible subset of Operations of the source Interface or Port.
`boolean` `validateBetweenInterfacesPorts(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A delegation connector must only be defined between used Interfaces or Ports of the same kind, e.g. between two provided Ports or between two required Ports.
`boolean` `validateCompatible(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The connectable elements attached to the ends of a connector must be compatible.
`boolean` `validateRoles(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be roles of the Classifier that owned the Connector, or they must be ports of such roles.
`boolean` `validateTypes(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The types of the connectable elements that the ends of a connector are attached to must conform to the types of the association ends of the association that types the connector, if any.
`boolean` `validateUnionSignatureCompatible(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` In a complete model, if a source Port has delegation connectors to a set of delegated target Ports, then the union of the Interfaces of these target Ports must be signature compatible with the Interface that types the source Port.

Methods inherited from interface org.eclipse.uml2.uml.Feature
`getFeaturingClassifier, getFeaturingClassifier, getFeaturingClassifiers, isStatic, setIsStatic`

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

### getType

    Association getType()

  Returns the value of the 'Type' reference. An optional association that specifies the link corresponding to this connector.

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

### setType

    void setType(Association value)

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

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

### getRedefinedConnectors

    org.eclipse.emf.common.util.EList<Connector> getRedefinedConnectors()

  Returns the value of the 'Redefined Connector' reference list. The list contents are of type `Connector`.

  This feature subsets the following features:

  - '`Redefined Element`'
  A connector may be redefined when its containing classifier is specialized. The redefining connector may have a type that specializes the type of the redefined connector. The types of the connector ends of the redefining connector may specialize the types of the connector ends of the redefined connector. The properties of the connector ends of the redefining connector may be replaced.

  Returns:
    the value of the 'Redefined Connector' reference list.
  See Also:
    `UMLPackage.getConnector_RedefinedConnector()`

### getRedefinedConnector

    Connector getRedefinedConnector(java.lang.String name)

  Retrieves the first `Connector` with the specified 'Name' from the 'Redefined Connector' reference list.

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

### getRedefinedConnector

    Connector getRedefinedConnector(java.lang.String name,
                                    boolean ignoreCase)

  Retrieves the first `Connector` with the specified 'Name' from the 'Redefined Connector' reference list.

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

### getEnds

    org.eclipse.emf.common.util.EList<ConnectorEnd> getEnds()

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

  This feature subsets the following features:

  - '`Owned Element`'
  A connector consists of at least two connector ends, each representing the participation of instances of the classifiers typing the connectable elements attached to this end. The set of connector ends is ordered.

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

### createEnd

    ConnectorEnd createEnd()

  Creates a new `ConnectorEnd` and appends it to the 'End' containment reference list.

  Returns:
    The new `ConnectorEnd`.
  See Also:
    `getEnds()`

### getKind

    ConnectorKind getKind()

  Returns the value of the 'Kind' attribute. The literals are from the enumeration `ConnectorKind`. Indicates the kind of connector.

  Returns:
    the value of the 'Kind' attribute.
  See Also:
    `ConnectorKind`, `isSetKind()`, `unsetKind()`, `setKind(ConnectorKind)`, `UMLPackage.getConnector_Kind()`

### setKind

    void setKind(ConnectorKind value)

  Sets the value of the '`Kind`' attribute.

  Parameters:
    `value` - the new value of the 'Kind' attribute.
  See Also:
    `ConnectorKind`, `isSetKind()`, `unsetKind()`, `getKind()`

### unsetKind

    void unsetKind()

  Unsets the value of the '`Kind`' attribute.

  See Also:
    `isSetKind()`, `getKind()`, `setKind(ConnectorKind)`

### isSetKind

    boolean isSetKind()

  Returns whether the value of the '`Kind`' attribute is set.

  Returns:
    whether the value of the 'Kind' attribute is set.
  See Also:
    `unsetKind()`, `getKind()`, `setKind(ConnectorKind)`

### getContracts

    org.eclipse.emf.common.util.EList<Behavior> getContracts()

  Returns the value of the 'Contract' reference list. The list contents are of type `Behavior`. The set of Behaviors that specify the valid interaction patterns across the connector.

  Returns:
    the value of the 'Contract' reference list.
  See Also:
    `UMLPackage.getConnector_Contract()`

### getContract

    Behavior getContract(java.lang.String name)

  Retrieves the first `Behavior` with the specified 'Name' from the 'Contract' reference list.

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

### getContract

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

  Retrieves the first `Behavior` with the specified 'Name' from the 'Contract' reference list.

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

### validateTypes

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

  The types of the connectable elements that the ends of a connector are attached to must conform to the types of the association ends of the association that types the connector, if any. true

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

### validateCompatible

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

  The connectable elements attached to the ends of a connector must be compatible. true

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

### validateRoles

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

  The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be roles of the Classifier that owned the Connector, or they must be ports of such roles. true

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

### validateBetweenInterfacesPorts

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

  A delegation connector must only be defined between used Interfaces or Ports of the same kind, e.g. between two provided Ports or between two required Ports. true

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

### validateBetweenInterfacePortImplements

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

  If a delegation connector is defined between a used Interface or Port and an internal Part Classifier, then that Classifier must have an 'implements' relationship to the Interface type of that Port. true

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

### validateBetweenInterfacePortSignature

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

  If a delegation connector is defined between a source Interface or Port and a target Interface or Port, then the target Interface must support a signature compatible subset of Operations of the source Interface or Port. true

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

### validateUnionSignatureCompatible

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

  In a complete model, if a source Port has delegation connectors to a set of delegated target Ports, then the union of the Interfaces of these target Ports must be signature compatible with the Interface that types the source Port. true

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

### validateAssemblyConnector

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

  An assembly connector must only be defined from a required Interface or Ports to a provided Interface or Port. 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.