org.objectweb.fractal.aokell.lib.control.binding
Class CompositeAutoBindingControllerImpl

java.lang.Object
  extended by org.objectweb.fractal.aokell.lib.control.binding.AbstractBindingControllerImpl
      extended by org.objectweb.fractal.aokell.lib.control.binding.PrimitiveBindingControllerImpl
          extended by org.objectweb.fractal.aokell.lib.control.binding.CompositeBindingControllerImpl
              extended by org.objectweb.fractal.aokell.lib.control.binding.CompositeAutoBindingControllerImpl
All Implemented Interfaces:
Controller, BindingController

public class CompositeAutoBindingControllerImpl
extends CompositeBindingControllerImpl
implements BindingController

Implementation of the binding controller for composite components. This controller also implements the auto-binding feature for collection interfaces imported by a composite.

Author:
Eric Bruneton, Lionel Seinturier

Field Summary
 
Fields inherited from class org.objectweb.fractal.aokell.lib.control.binding.AbstractBindingControllerImpl
compctrl
 
Constructor Summary
CompositeAutoBindingControllerImpl()
           
 
Method Summary
 void bindFc(String clientItfName, Object serverItf)
          Binds the client interface whose name is given to a server interface.
 void unbindFc(String clientItfName)
          Unbinds the client interface whose name is given.
 
Methods inherited from class org.objectweb.fractal.aokell.lib.control.binding.CompositeBindingControllerImpl
getFcInterfaces, registerFcInterface, testLegalBinding
 
Methods inherited from class org.objectweb.fractal.aokell.lib.control.binding.AbstractBindingControllerImpl
bindFcContent, cloneFcCtrl, getFcBoundableInterface, initFcCtrl, listFc, lookupFc, setFcCompCtrl, testLifeCyleBeforeUnbinding, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.objectweb.fractal.api.control.BindingController
listFc, lookupFc
 

Constructor Detail

CompositeAutoBindingControllerImpl

public CompositeAutoBindingControllerImpl()
Method Detail

bindFc

public void bindFc(String clientItfName,
                   Object serverItf)
            throws NoSuchInterfaceException,
                   IllegalBindingException,
                   IllegalLifeCycleException
Binds the client interface whose name is given to a server interface. In addition, auto bind collection interfaces imported by a composite to the nested component bound to the collection interface.

Specified by:
bindFc in interface BindingController
Overrides:
bindFc in class AbstractBindingControllerImpl
Parameters:
clientItfName - the name of a client interface of the component to which this interface belongs.
serverItf - a server interface.
Throws:
NoSuchInterfaceException - if there is no such client interface.
IllegalBindingException - if the binding cannot be created.
IllegalLifeCycleException - if this component has a LifeCycleController interface, but it is not in an appropriate state to perform this operation.

unbindFc

public void unbindFc(String clientItfName)
              throws NoSuchInterfaceException,
                     IllegalBindingException,
                     IllegalLifeCycleException
Unbinds the client interface whose name is given. In addition, auto unbind collection interfaces imported by a composite to the nested component bound to the collection interface.

Specified by:
unbindFc in interface BindingController
Overrides:
unbindFc in class AbstractBindingControllerImpl
Parameters:
clientItfName - the name of a client interface of the component to which this interface belongs.
Throws:
NoSuchInterfaceException - if there is no such client interface.
IllegalBindingException - if the binding cannot be removed.
IllegalLifeCycleException - if this component has a LifeCycleController interface, but it is not in an appropriate state to perform this operation.