## org.eclipse.uml2.uml
Interface Component

All Superinterfaces:
  BehavioredClassifier, Class, Classifier, Element, org.eclipse.emf.ecore.EModelElement, EncapsulatedClassifier, org.eclipse.emf.ecore.EObject, NamedElement, Namespace, org.eclipse.emf.common.notify.Notifier, PackageableElement, ParameterableElement, RedefinableElement, StructuredClassifier, TemplateableElement, Type

    public interface Component

extends Class, Namespace

A representation of the model object 'Component'. A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment. In the namespace of a component, all model elements that are involved in or related to its definition are either owned or imported explicitly. This may include, for example, use cases and dependencies (e.g. mappings), packages, components, and artifacts.

The following features are supported:

- `Is Indirectly Instantiated`
- `Required`
- `Provided`
- `Packaged Element`
- `Realization`

See Also:
  `UMLPackage.getComponent()`

Method Summary
`Class` `createOwnedClass(java.lang.String name, boolean isAbstract)` Creates a(n) (abstract) class with the specified name as a packaged element of this component.
`Enumeration` `createOwnedEnumeration(java.lang.String name)` Creates a enumeration with the specified name as a packaged element of this component.
`Interface` `createOwnedInterface(java.lang.String name)` Creates an interface with the specified name as a packaged element of this component.
`PrimitiveType` `createOwnedPrimitiveType(java.lang.String name)` Creates a primitive type with the specified name as a packaged element of this component.
`PackageableElement` `createPackagedElement(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)` Creates a new `PackageableElement`, with the specified 'Name', and appends it to the 'Packaged Element' containment reference list
`ComponentRealization` `createRealization(java.lang.String name)` Creates a new `ComponentRealization`, with the specified 'Name', and appends it to the 'Realization' containment reference list
`PackageableElement` `getPackagedElement(java.lang.String name)` Retrieves the first `PackageableElement` with the specified 'Name' from the 'Packaged Element' containment reference list
`PackageableElement` `getPackagedElement(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)` Retrieves the first `PackageableElement` with the specified 'Name' from the 'Packaged Element' containment reference list
`org.eclipse.emf.common.util.EList<PackageableElement>` `getPackagedElements()` Returns the value of the 'Packaged Element' containment reference list.
`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.
`ComponentRealization` `getRealization(java.lang.String name)` Retrieves the first `ComponentRealization` with the specified 'Name' from the 'Realization' containment reference list
`ComponentRealization` `getRealization(java.lang.String name, boolean ignoreCase, boolean createOnDemand)` Retrieves the first `ComponentRealization` with the specified 'Name' from the 'Realization' containment reference list
`org.eclipse.emf.common.util.EList<ComponentRealization>` `getRealizations()` Returns the value of the 'Realization' containment 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` `isIndirectlyInstantiated()` Returns the value of the 'Is Indirectly Instantiated' attribute.
`org.eclipse.emf.common.util.EList<Interface>` `realizedInterfaces(Classifier classifier)` Utility returning the set of realized interfaces of a component: result = (classifier.clientDependency-> select(dependency|dependency.oclIsKindOf(Realization) and dependency.supplier.oclIsKindOf(Interface)))-> collect(dependency|dependency.client)
`void` `setIsIndirectlyInstantiated(boolean value)` Sets the value of the '`Is Indirectly Instantiated`' attribute
`org.eclipse.emf.common.util.EList<Interface>` `usedInterfaces(Classifier classifier)` Utility returning the set of used interfaces of a component: result = (classifier.supplierDependency-> select(dependency|dependency.oclIsKindOf(Usage) and dependency.supplier.oclIsKindOf(interface)))-> collect(dependency|dependency.supplier)

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

`createNestedClassifier, createOwnedOperation, createOwnedOperation, createOwnedReception, getExtension, getExtension, getExtensions, getNestedClassifier, getNestedClassifier, getNestedClassifiers, getOwnedOperation, getOwnedOperation, getOwnedOperations, getOwnedReception, getOwnedReception, getOwnedReceptions, getSuperClass, getSuperClass, getSuperClasses, isActive, isMetaclass, setIsActive, validatePassiveClass`

Methods inherited from interface org.eclipse.uml2.uml.EncapsulatedClassifier
`createOwnedPort, getOwnedPort, getOwnedPort, getOwnedPorts`

Methods inherited from interface org.eclipse.uml2.uml.StructuredClassifier
`createOwnedAttribute, createOwnedAttribute, createOwnedAttribute, createOwnedConnector, getOwnedAttribute, getOwnedAttribute, getOwnedAttributes, getOwnedConnector, getOwnedConnector, getOwnedConnectors, getPart, getPart, getParts, getRole, getRole, getRoles, validateMultiplicities`

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

`allFeatures, allParents, conformsTo, createCollaborationUse, createGeneralization, createOwnedUseCase, createRepresentation, createSubstitution, getAllAttributes, getAllOperations, getAllUsedInterfaces, getAttribute, getAttribute, getAttributes, getCollaborationUse, getCollaborationUse, getCollaborationUses, getFeature, getFeature, getFeatures, getGeneral, getGeneral, getGeneralization, getGeneralization, getGeneralizations, getGenerals, getInheritedMember, getInheritedMember, getInheritedMembers, getOperation, getOperation, getOperations, getOwnedUseCase, getOwnedUseCase, getOwnedUseCases, getPowertypeExtent, getPowertypeExtent, getPowertypeExtents, getRedefinedClassifier, getRedefinedClassifier, getRedefinedClassifiers, getRepresentation, getSubstitution, getSubstitution, getSubstitutions, getUseCase, getUseCase, getUseCases, getUsedInterfaces, hasVisibilityOf, inherit, inheritableMembers, isAbstract, maySpecializeType, parents, setIsAbstract, setRepresentation, validateGeneralizationHierarchies, validateMapsToGeneralizationSet, validateNoCyclesInGeneralization, validateSpecializeType`

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

`createElementImport, createElementImport, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateMembersDistinguishable`

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.RedefinableElement
`getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid`

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.Type
`conformsTo, createAssociation, getAssociations, getPackage, setPackage`

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.TemplateableElement
`createOwnedTemplateSignature, createOwnedTemplateSignature, createTemplateBinding, getOwnedTemplateSignature, getTemplateBinding, getTemplateBinding, getTemplateBindings, isTemplate, parameterableElements, setOwnedTemplateSignature`

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

`createClassifierBehavior, createInterfaceRealization, createOwnedBehavior, createOwnedTrigger, getAllImplementedInterfaces, getClassifierBehavior, getImplementedInterfaces, getInterfaceRealization, getInterfaceRealization, getInterfaceRealizations, getOwnedBehavior, getOwnedBehavior, getOwnedBehaviors, getOwnedTrigger, getOwnedTrigger, getOwnedTriggers, setClassifierBehavior, validateClassBehavior`

Method Detail

### isIndirectlyInstantiated

    boolean isIndirectlyInstantiated()

  Returns the value of the 'Is Indirectly Instantiated' attribute. The default value is `"true"`. The kind of instantiation that applies to a Component. If false, the component is instantiated as an addressable object. If true, the Component is defined at design-time, but at runtime (or execution-time) an object specified by the Component does not exist, that is, the component is instantiated indirectly, through the instantiation of its realizing classifiers or parts. Several standard stereotypes use this meta attribute, e.g. <<specification>>, <<focus>>, <<subsystem>>.

  Returns:
    the value of the 'Is Indirectly Instantiated' attribute.
  See Also:
    `setIsIndirectlyInstantiated(boolean)`, `UMLPackage.getComponent_IsIndirectlyInstantiated()`

### setIsIndirectlyInstantiated

    void setIsIndirectlyInstantiated(boolean value)

  Sets the value of the '`Is Indirectly Instantiated`' attribute.

  Parameters:
    `value` - the new value of the 'Is Indirectly Instantiated' attribute.
  See Also:
    `isIndirectlyInstantiated()`

### getRequireds

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

  Returns the value of the 'Required' reference list. The list contents are of type `Interface`. The interfaces that the component requires from other components in its environment in order to be able to offer its full set of provided functionality. These interfaces may be Used by the Component or any of its realizingClassifiers, or they may be the Interfaces that are required by its public Ports.

  Returns:
    the value of the 'Required' reference list.
  See Also:
    `UMLPackage.getComponent_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()`

### getProvideds

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

  Returns the value of the 'Provided' reference list. The list contents are of type `Interface`. The interfaces that the component exposes to its environment. These interfaces may be Realized by the Component or any of its realizingClassifiers, or they may be the Interfaces that are provided by its public Ports.

  Returns:
    the value of the 'Provided' reference list.
  See Also:
    `UMLPackage.getComponent_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()`

### getPackagedElements

    org.eclipse.emf.common.util.EList<PackageableElement> getPackagedElements()

  Returns the value of the 'Packaged Element' containment reference list. The list contents are of type `PackageableElement`. The set of PackageableElements that a Component owns. In the namespace of a component, all model elements that are involved in or related to its definition may be owned or imported explicitly. These may include e.g. Classes, Interfaces, Components, Packages, Use cases, Dependencies (e.g. mappings), and Artifacts.

  Returns:
    the value of the 'Packaged Element' containment reference list.
  See Also:
    `UMLPackage.getComponent_PackagedElement()`

### createPackagedElement

    PackageableElement createPackagedElement(java.lang.String name,
                                             org.eclipse.emf.ecore.EClass eClass)

  Creates a new `PackageableElement`, with the specified 'Name', and appends it to the 'Packaged Element' containment reference list.

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

### getPackagedElement

    PackageableElement getPackagedElement(java.lang.String name)

  Retrieves the first `PackageableElement` with the specified 'Name' from the 'Packaged Element' containment reference list.

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

### getPackagedElement

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

  Retrieves the first `PackageableElement` with the specified 'Name' from the 'Packaged Element' containment reference list.

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

### getRealizations

    org.eclipse.emf.common.util.EList<ComponentRealization> getRealizations()

  Returns the value of the 'Realization' containment reference list. The list contents are of type `ComponentRealization`. It is bidirectional and its opposite is '`Abstraction`'. The set of Realizations owned by the Component. Realizations reference the Classifiers of which the Component is an abstraction; i.e., that realize its behavior.

  Returns:
    the value of the 'Realization' containment reference list.
  See Also:
    `UMLPackage.getComponent_Realization()`, `ComponentRealization.getAbstraction()`

### createRealization

    ComponentRealization createRealization(java.lang.String name)

  Creates a new `ComponentRealization`, with the specified 'Name', and appends it to the 'Realization' containment reference list.

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

### getRealization

    ComponentRealization getRealization(java.lang.String name)

  Retrieves the first `ComponentRealization` with the specified 'Name' from the 'Realization' containment reference list.

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

### getRealization

    ComponentRealization getRealization(java.lang.String name,
                                        boolean ignoreCase,
                                        boolean createOnDemand)

  Retrieves the first `ComponentRealization` with the specified 'Name' from the 'Realization' containment reference list.

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

### createOwnedClass

    Class createOwnedClass(java.lang.String name,
                           boolean isAbstract)

  Creates a(n) (abstract) class with the specified name as a packaged element of this component.

  Parameters:
    `name` - The name for the new class, or null.
    `isAbstract` - Whether the new class should be abstract.

### createOwnedEnumeration

    Enumeration createOwnedEnumeration(java.lang.String name)

  Creates a enumeration with the specified name as a packaged element of this component.

  Parameters:
    `name` - The name for the new enumeration, or null.

### createOwnedPrimitiveType

    PrimitiveType createOwnedPrimitiveType(java.lang.String name)

  Creates a primitive type with the specified name as a packaged element of this component.

  Parameters:
    `name` - The name for the new primitive type, or null.

### createOwnedInterface

    Interface createOwnedInterface(java.lang.String name)

  Creates an interface with the specified name as a packaged element of this component.

  Parameters:
    `name` - The name for the new interface, or null.

### realizedInterfaces

    org.eclipse.emf.common.util.EList<Interface> realizedInterfaces(Classifier classifier)

  Utility returning the set of realized interfaces of a component: result = (classifier.clientDependency-> select(dependency|dependency.oclIsKindOf(Realization) and dependency.supplier.oclIsKindOf(Interface)))-> collect(dependency|dependency.client)

### usedInterfaces

    org.eclipse.emf.common.util.EList<Interface> usedInterfaces(Classifier classifier)

  Utility returning the set of used interfaces of a component: result = (classifier.supplierDependency-> select(dependency|dependency.oclIsKindOf(Usage) and dependency.supplier.oclIsKindOf(interface)))-> collect(dependency|dependency.supplier)

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