org.objectweb.dsrg.sofa.bootstrap
Class MILifecycleBase

java.lang.Object
  extended by org.objectweb.dsrg.sofa.bootstrap.MILifecycleBase
All Implemented Interfaces:
MIInterceptor, MILifecycle, SOFAMicroComponent

public class MILifecycleBase
extends java.lang.Object
implements SOFAMicroComponent, MILifecycle, MIInterceptor

Implements the Lifecycle aspect logic.


Constructor Summary
MILifecycleBase()
           
 
Method Summary
 void exit()
          Call to this method will start the stopping process.
 java.lang.Object getProvided(java.lang.String name)
          Takes reference to implementation of provided interface with given name.
 LifecycleState getState()
          Gets the lifecycle state of the component.
 void init(ComponentDescription component, java.util.Map<java.lang.String,java.lang.String> parameters)
          Initialises microcomponent.
 void notifyCall(java.lang.String method)
          Invoked when intercepted method is called.
 void notifyReturn(java.lang.String method)
          Invoked when interpected method returns.
 void setRequired(java.lang.String name, java.lang.Object ref)
          Gives the microcomponent reference to destination of its required interface.
 void start()
          Call to this method starts the component.
 void stop()
          Call to this method will start the stopping process.
 void waitStopped()
          Wait until the component is stopped.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MILifecycleBase

public MILifecycleBase()
Method Detail

init

public void init(ComponentDescription component,
                 java.util.Map<java.lang.String,java.lang.String> parameters)
          throws SOFAException
Description copied from interface: SOFAMicroComponent
Initialises microcomponent. This method is called after all microcomponents are instantiated and bound.

Specified by:
init in interface SOFAMicroComponent
Parameters:
component - Containing component description.
parameters - Parameters from the model extended by parameters from the Sofa2 runtime.
Throws:
SOFAException

getProvided

public java.lang.Object getProvided(java.lang.String name)
                             throws SOFAException
Description copied from interface: SOFAMicroComponent
Takes reference to implementation of provided interface with given name.

Specified by:
getProvided in interface SOFAMicroComponent
Parameters:
name - Name of the provided interface.
Returns:
Reference to the provided interface implementation.
Throws:
SOFAException

setRequired

public void setRequired(java.lang.String name,
                        java.lang.Object ref)
                 throws SOFAException
Description copied from interface: SOFAMicroComponent
Gives the microcomponent reference to destination of its required interface.

Specified by:
setRequired in interface SOFAMicroComponent
Parameters:
name - Name of the required interface.
ref - Reference to the destination interface implementation.
Throws:
SOFAException

start

public void start()
Description copied from interface: MILifecycle
Call to this method starts the component. When this method returns the component is started.

Specified by:
start in interface MILifecycle

stop

public void stop()
Description copied from interface: MILifecycle
Call to this method will start the stopping process. Component will block incoming calls on business interfaces. This method should not block.

Call to waitStopped is needed to complete component stopping process.

Specified by:
stop in interface MILifecycle

waitStopped

public void waitStopped()
Description copied from interface: MILifecycle
Wait until the component is stopped. The stopping process have to be started by stop() or exit() methods before calling this method. The component will not be stopped until this method is called.

Specified by:
waitStopped in interface MILifecycle

exit

public void exit()
Description copied from interface: MILifecycle
Call to this method will start the stopping process. Component will interrupt incoming calls to business interfaces. This method shouldd not block.

Call to waitStopped is needed to complete component stopping process.

Specified by:
exit in interface MILifecycle

notifyCall

public void notifyCall(java.lang.String method)
                throws SOFAException
Description copied from interface: MIInterceptor
Invoked when intercepted method is called.

Specified by:
notifyCall in interface MIInterceptor
Parameters:
method - Name of the method that has been called.
Throws:
SOFAException

notifyReturn

public void notifyReturn(java.lang.String method)
                  throws SOFAException
Description copied from interface: MIInterceptor
Invoked when interpected method returns.

Specified by:
notifyReturn in interface MIInterceptor
Parameters:
method - Name of the method that returns.
Throws:
SOFAException

getState

public LifecycleState getState()
Description copied from interface: MILifecycle
Gets the lifecycle state of the component.

Specified by:
getState in interface MILifecycle