org.objectweb.dsrg.sofa.microarchitecture
Class ComponentInstance

java.lang.Object
  extended by org.objectweb.dsrg.sofa.microarchitecture.ComponentInstance

public class ComponentInstance
extends java.lang.Object

TODO document Base class for component instantiation.


Constructor Summary
protected ComponentInstance(Architecture arch, Frame frame, java.lang.Iterable<Aspect> aspects, java.lang.Iterable<Bindable> units)
          Creates new ComponentInstance of Architecture arch with aspects applied.
 
Method Summary
 Architecture getComponentArchitecture()
          Model Architecture class of the component.
 java.lang.Object getComponentContent()
          Returns content class of the component.
 Frame getComponentFrame()
          Model frame class implemented by component.
 DelegationChain getControlInterfaceChain(java.lang.String name)
          Returns control delegation chain with the given name.
 java.util.Set<java.lang.String> getControlInterfacesNames()
          Returns names of the control interfaces of the component.
 DelegationChain getProvidedInterfaceChain(java.lang.String name)
          Returns business provided delegation chain with the given name.
 java.util.Set<java.lang.String> getProvidedInterfacesNames()
          Returns names of the business provided interfaces of the component.
 DelegationChain getRequiredInterfaceChain(java.lang.String name)
          Returns business required delegation chain with the given name.
 java.util.Set<java.lang.String> getRequiredInterfacesNames()
          Returns names of the business required interfaces of the component.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComponentInstance

protected ComponentInstance(Architecture arch,
                            Frame frame,
                            java.lang.Iterable<Aspect> aspects,
                            java.lang.Iterable<Bindable> units)
                     throws InstantiationException
Creates new ComponentInstance of Architecture arch with aspects applied. After the constructor finishes component is fully instantiated and waits for starting.

Parameters:
arch - Architecture to use for component.
aspects - Aspects to be applied.
units - InterfaceUnits to be binded to component's business interfaces.
Throws:
InstantiationException
Method Detail

getControlInterfaceChain

public DelegationChain getControlInterfaceChain(java.lang.String name)
                                         throws InterfaceNotFoundException
Returns control delegation chain with the given name.

Parameters:
name - Name of the control interface we want the delegation chain for.
Returns:
Throws:
InterfaceNotFoundException

getControlInterfacesNames

public java.util.Set<java.lang.String> getControlInterfacesNames()
Returns names of the control interfaces of the component.

Returns:
Set of control interface names.

getProvidedInterfaceChain

public DelegationChain getProvidedInterfaceChain(java.lang.String name)
                                          throws InterfaceNotFoundException
Returns business provided delegation chain with the given name.

Parameters:
name - Name of the business provided interface we want the delegation chain for.
Returns:
Throws:
InterfaceNotFoundException

getProvidedInterfacesNames

public java.util.Set<java.lang.String> getProvidedInterfacesNames()
Returns names of the business provided interfaces of the component.

Returns:
Set of business provided interface names.

getRequiredInterfaceChain

public DelegationChain getRequiredInterfaceChain(java.lang.String name)
                                          throws InterfaceNotFoundException
Returns business required delegation chain with the given name.

Parameters:
name - Name of the business required interface we want the delegation chain for.
Returns:
Throws:
InterfaceNotFoundException

getRequiredInterfacesNames

public java.util.Set<java.lang.String> getRequiredInterfacesNames()
Returns names of the business required interfaces of the component.

Returns:
Set of business required interface names.

getComponentContent

public java.lang.Object getComponentContent()
Returns content class of the component.

Returns:
Content class instance or null if the component is composite.

getComponentArchitecture

public Architecture getComponentArchitecture()
Model Architecture class of the component.

Returns:

getComponentFrame

public Frame getComponentFrame()
Model frame class implemented by component.

Returns: