## org.eclipse.uml2.uml
Interface Port

All Superinterfaces:
  ConnectableElement, DeploymentTarget, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, Feature, MultiplicityElement, NamedElement, org.eclipse.emf.common.notify.Notifier, ParameterableElement, Property, RedefinableElement, StructuralFeature, TemplateableElement, TypedElement

    public interface Port

extends Property

A representation of the model object 'Port'. A port is a property of a classifier that specifies a distinct interaction point between that classifier and its environment or between the (behavior of the) classifier and its internal parts. Ports are connected to properties of the classifier by connectors through which requests can be made to invoke the behavioral features of a classifier. A Port may specify the services a classifier provides (offers) to its environment as well as the services that a classifier expects (requires) of its environment. A port has an associated protocol state machine.

The following features are supported:

- `Is Behavior`
- `Is Service`
- `Required`
- `Redefined Port`
- `Provided`
- `Protocol`

See Also:
  `UMLPackage.getPort()`

Field Summary

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

Method Summary
`ProtocolStateMachine` `getProtocol()` Returns the value of the 'Protocol' reference
`Interface` `getProvided(java.lang.String name)` Retrieves the first `Interface` with the specified 'Name' from the 'Provided' reference list
`Interface` `getProvided(java.lang.String name, boolean ignoreCase)` Retrieves the first `Interface` with the specified 'Name' from the 'Provided' reference list
`org.eclipse.emf.common.util.EList<Interface>` `getProvideds()` Returns the value of the 'Provided' reference list.
`Port` `getRedefinedPort(java.lang.String name, Type type)` Retrieves the first `Port` with the specified 'Name', and 'Type' from the 'Redefined Port' reference list
`Port` `getRedefinedPort(java.lang.String name, Type type, boolean ignoreCase)` Retrieves the first `Port` with the specified 'Name', and 'Type' from the 'Redefined Port' reference list
`org.eclipse.emf.common.util.EList<Port>` `getRedefinedPorts()` Returns the value of the 'Redefined Port' reference list.
`Interface` `getRequired(java.lang.String name)` Retrieves the first `Interface` with the specified 'Name' from the 'Required' reference list
`Interface` `getRequired(java.lang.String name, boolean ignoreCase)` Retrieves the first `Interface` with the specified 'Name' from the 'Required' reference list
`org.eclipse.emf.common.util.EList<Interface>` `getRequireds()` Returns the value of the 'Required' reference list.
`boolean` `isBehavior()` Returns the value of the 'Is Behavior' attribute.
`boolean` `isService()` Returns the value of the 'Is Service' attribute.
`void` `setIsBehavior(boolean value)` Sets the value of the '`Is Behavior`' attribute
`void` `setIsService(boolean value)` Sets the value of the '`Is Service`' attribute
`void` `setProtocol(ProtocolStateMachine value)` Sets the value of the '`Protocol`' reference
`boolean` `validateDefaultValue(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A defaultValue for port cannot be specified when the type of the Port is an Interface true
`boolean` `validatePortAggregation(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` Port.aggregation must be composite.
`boolean` `validatePortDestroyed(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` When a port is destroyed, all connectors attached to this port will be destroyed also.
`boolean` `validateRequiredInterfaces(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The required interfaces of a port must be provided by elements to which the port is connected.

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

`createDefaultValue, createQualifier, createQualifier, getAggregation, getAssociation, getAssociationEnd, getClass_, getDatatype, getDefault, getDefaultValue, getOpposite, getOtherEnd, getOwningAssociation, getQualifier, getQualifier, getQualifiers, getRedefinedProperties, getRedefinedProperty, getRedefinedProperty, getSubsettedProperties, getSubsettedProperty, getSubsettedProperty, isAttribute, isComposite, isDerived, isDerivedUnion, isNavigable, isSetDefault, setAggregation, setAssociation, setAssociationEnd, setBooleanDefaultValue, setDatatype, setDefault, setDefaultValue, setIntegerDefaultValue, setIsComposite, setIsDerived, setIsDerivedUnion, setIsNavigable, setNullDefaultValue, setOpposite, setOwningAssociation, setStringDefaultValue, setUnlimitedNaturalDefaultValue, subsettingContext, unsetDefault, validateBindingToAttribute, validateDeploymentTarget, validateDerivedUnionIsDerived, validateDerivedUnionIsReadOnly, validateMultiplicityOfComposite, validateNavigableReadonly, validateRedefinedPropertyInherited, validateSubsettedPropertyNames, validateSubsettingContextConforms, validateSubsettingRules`

Methods inherited from interface org.eclipse.uml2.uml.StructuralFeature
`isReadOnly, setIsReadOnly`

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, 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.TypedElement
`getType, setType`

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

`compatibleWith, createLowerValue, createUpperValue, getLower, getLowerValue, getUpper, getUpperValue, includesCardinality, includesMultiplicity, is, isMultivalued, isOrdered, isUnique, lowerBound, setIsOrdered, setIsUnique, setLower, setLowerValue, setUpper, setUpperValue, upperBound, validateLowerGe0, validateUpperGeLower, validateUpperGt0, validateValueSpecificationConstant, validateValueSpecificationNoSideEffects`

Methods inherited from interface org.eclipse.uml2.uml.ConnectableElement
`getEnds`

Methods inherited from interface org.eclipse.uml2.uml.TypedElement
`getType, setType`

Methods inherited from interface org.eclipse.uml2.uml.ParameterableElement
`getOwningTemplateParameter, getTemplateParameter, isCompatibleWith, isTemplateParameter, setOwningTemplateParameter, setTemplateParameter`

Methods inherited from interface org.eclipse.uml2.uml.DeploymentTarget
`createDeployment, getDeployedElement, getDeployedElement, getDeployedElements, getDeployment, getDeployment, getDeployments`

Methods inherited from interface org.eclipse.uml2.uml.TemplateableElement
`createOwnedTemplateSignature, createOwnedTemplateSignature, createTemplateBinding, getOwnedTemplateSignature, getTemplateBinding, getTemplateBinding, getTemplateBindings, isTemplate, parameterableElements, setOwnedTemplateSignature`

Method Detail

### isBehavior

    boolean isBehavior()

  Returns the value of the 'Is Behavior' attribute. The default value is `"false"`. Specifies whether requests arriving at this port are sent to the classifier behavior of this classifier. Such ports are referred to as behavior port. Any invocation of a behavioral feature targeted at a behavior port will be handled by the instance of the owning classifier itself, rather than by any instances that this classifier may contain.

  Returns:
    the value of the 'Is Behavior' attribute.
  See Also:
    `setIsBehavior(boolean)`, `UMLPackage.getPort_IsBehavior()`

### setIsBehavior

    void setIsBehavior(boolean value)

  Sets the value of the '`Is Behavior`' attribute.

  Parameters:
    `value` - the new value of the 'Is Behavior' attribute.
  See Also:
    `isBehavior()`

### isService

    boolean isService()

  Returns the value of the 'Is Service' attribute. The default value is `"true"`. If true indicates that this port is used to provide the published functionality of a classifier; if false, this port is used to implement the classifier but is not part of the essential externally-visible functionality of the classifier and can, therefore, be altered or deleted along with the internal implementation of the classifier and other properties that are considered part of its implementation.

  Returns:
    the value of the 'Is Service' attribute.
  See Also:
    `setIsService(boolean)`, `UMLPackage.getPort_IsService()`

### setIsService

    void setIsService(boolean value)

  Sets the value of the '`Is Service`' attribute.

  Parameters:
    `value` - the new value of the 'Is Service' attribute.
  See Also:
    `isService()`

### getRequireds

    org.eclipse.emf.common.util.EList<Interface> getRequireds()

  Returns the value of the 'Required' reference list. The list contents are of type `Interface`. References the interfaces specifying the set of operations and receptions which the classifier expects its environment to handle. This association is derived as the set of interfaces required by the type of the port or its supertypes.

  Returns:
    the value of the 'Required' reference list.
  See Also:
    `UMLPackage.getPort_Required()`

### getRequired

    Interface getRequired(java.lang.String name)

  Retrieves the first `Interface` with the specified 'Name' from the 'Required' reference list.

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

### getRequired

    Interface getRequired(java.lang.String name,
                          boolean ignoreCase)

  Retrieves the first `Interface` with the specified 'Name' from the 'Required' reference list.

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

### getRedefinedPorts

    org.eclipse.emf.common.util.EList<Port> getRedefinedPorts()

  Returns the value of the 'Redefined Port' reference list. The list contents are of type `Port`. A port may be redefined when its containing classifier is specialized. The redefining port may have additional interfaces to those that are associated with the redefined port or it may replace an interface by one of its subtypes.

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

### getRedefinedPort

    Port getRedefinedPort(java.lang.String name,
                          Type type)

  Retrieves the first `Port` with the specified 'Name', and 'Type' from the 'Redefined Port' reference list.

  Parameters:
    `name` - The 'Name' of the `Port` to retrieve, or `null`.
    `type` - The 'Type' of the `Port` to retrieve, or `null`.
  Returns:
    The first `Port` with the specified 'Name', and 'Type', or `null`.
  See Also:
    `getRedefinedPorts()`

### getRedefinedPort

    Port getRedefinedPort(java.lang.String name,
                          Type type,
                          boolean ignoreCase)

  Retrieves the first `Port` with the specified 'Name', and 'Type' from the 'Redefined Port' reference list.

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

### getProvideds

    org.eclipse.emf.common.util.EList<Interface> getProvideds()

  Returns the value of the 'Provided' reference list. The list contents are of type `Interface`. References the interfaces specifying the set of operations and receptions which the classifier offers to its environment, and which it will handle either directly or by forwarding it to a part of its internal structure. This association is derived from the interfaces realized by the type of the port or by the type of the port, if the port was typed by an interface.

  Returns:
    the value of the 'Provided' reference list.
  See Also:
    `UMLPackage.getPort_Provided()`

### getProvided

    Interface getProvided(java.lang.String name)

  Retrieves the first `Interface` with the specified 'Name' from the 'Provided' reference list.

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

### getProvided

    Interface getProvided(java.lang.String name,
                          boolean ignoreCase)

  Retrieves the first `Interface` with the specified 'Name' from the 'Provided' reference list.

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

### getProtocol

    ProtocolStateMachine getProtocol()

  Returns the value of the 'Protocol' reference. References an optional protocol state machine which describes valid interactions at this interaction point.

  Returns:
    the value of the 'Protocol' reference.
  See Also:
    `setProtocol(ProtocolStateMachine)`, `UMLPackage.getPort_Protocol()`

### setProtocol

    void setProtocol(ProtocolStateMachine value)

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

  Parameters:
    `value` - the new value of the 'Protocol' reference.
  See Also:
    `getProtocol()`

### validateRequiredInterfaces

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

  The required interfaces of a port must be provided by elements to which the port is connected. true

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

### validatePortAggregation

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

  Port.aggregation must be composite. true

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

### validatePortDestroyed

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

  When a port is destroyed, all connectors attached to this port will be destroyed also. true

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

### validateDefaultValue

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

  A defaultValue for port cannot be specified when the type of the Port is an Interface 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.