Interface IComponent
The public interface for Component
[DefaultImplementationType(typeof(Component))]
[XmlDefaultImplementationType(typeof(Component))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Component")]
public interface IComponent : IClass, IBehavioredClassifier, IEncapsulatedClassifier, IStructuredClassifier, IClassifier, ITemplateableElement, IType, IPackageableElement, IParameterableElement, IRedefinableElement, INamespace, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
IsIndirectlyInstantiated
If true, the Component is defined at design-time, but at run-time (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. <p>From package UML::StructuredClassifiers.</p>
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isIndirectlyInstantiated")]
[XmlAttribute(true)]
bool IsIndirectlyInstantiated { get; set; }
Property Value
PackagedElement
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, UseCases, Dependencies (e.g., mappings), and Artifacts. <p>From package UML::StructuredClassifiers.</p>
[Browsable(false)]
[XmlElementName("packagedElement")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<IPackageableElement> PackagedElement { get; }
Property Value
Realization
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. <p>From package UML::StructuredClassifiers.</p>
[Browsable(false)]
[XmlElementName("realization")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("abstraction")]
IOrderedSetExpression<IComponentRealization> Realization { get; }
Property Value
Methods
CreateOwnedClass(string, bool)
Creates a(n) (abstract) class with the specified name as a packaged element of this component.
IClass CreateOwnedClass(string name, bool isAbstract)
Parameters
name
stringThe name for the new class, or null.
isAbstract
boolWhether the new class should be abstract.
Returns
CreateOwnedEnumeration(string)
Creates a enumeration with the specified name as a packaged element of this component.
IEnumeration CreateOwnedEnumeration(string name)
Parameters
name
stringThe name for the new enumeration, or null.
Returns
CreateOwnedInterface(string)
Creates an interface with the specified name as a packaged element of this component.
IInterface CreateOwnedInterface(string name)
Parameters
name
stringThe name for the new interface, or null.
Returns
CreateOwnedPrimitiveType(string)
Creates a primitive type with the specified name as a packaged element of this component.
IPrimitiveType CreateOwnedPrimitiveType(string name)
Parameters
name
stringThe name for the new primitive type, or null.
Returns
GetProvideds()
Derivation for Component::/provided result = (let ris : Set(Interface) = allRealizedInterfaces(), realizingClassifiers : Set(Classifier) = self.realization.realizingClassifier->union(self.allParents()->collect(realization.realizingClassifier))->asSet(), allRealizingClassifiers : Set(Classifier) = realizingClassifiers->union(realizingClassifiers.allParents())->asSet(), realizingClassifierInterfaces : Set(Interface) = allRealizingClassifiers->iterate(c; rci : Set(Interface) = Set{} | rci->union(c.allRealizedInterfaces())), ports : Set(Port) = self.ownedPort->union(allParents()->collect(ownedPort))->asSet(), providedByPorts : Set(Interface) = ports.provided->asSet() in ris->union(realizingClassifierInterfaces) ->union(providedByPorts)->asSet()) <p>From package UML::StructuredClassifiers.</p>
ISetExpression<IInterface> GetProvideds()
Returns
GetRequireds()
Derivation for Component::/required result = (let uis : Set(Interface) = allUsedInterfaces(), realizingClassifiers : Set(Classifier) = self.realization.realizingClassifier->union(self.allParents()->collect(realization.realizingClassifier))->asSet(), allRealizingClassifiers : Set(Classifier) = realizingClassifiers->union(realizingClassifiers.allParents())->asSet(), realizingClassifierInterfaces : Set(Interface) = allRealizingClassifiers->iterate(c; rci : Set(Interface) = Set{} | rci->union(c.allUsedInterfaces())), ports : Set(Port) = self.ownedPort->union(allParents()->collect(ownedPort))->asSet(), usedByPorts : Set(Interface) = ports.required->asSet() in uis->union(realizingClassifierInterfaces)->union(usedByPorts)->asSet() ) <p>From package UML::StructuredClassifiers.</p>
ISetExpression<IInterface> GetRequireds()
Returns
No_nested_classifiers(object, object)
A Component cannot nest Classifiers. nestedClassifier->isEmpty()
bool No_nested_classifiers(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
No_packaged_elements(object, object)
A Component nested in a Class cannot have any packaged elements. nestingClass <> null implies packagedElement->isEmpty()
bool No_packaged_elements(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.