org.objectweb.dsrg.sofa.bootstrap
Class FactoryInterceptor

java.lang.Object
  extended by org.objectweb.dsrg.sofa.bootstrap.FactoryInterceptor
All Implemented Interfaces:
java.lang.reflect.InvocationHandler, SOFAMicroComponent

public class FactoryInterceptor
extends java.lang.Object
implements SOFAMicroComponent, java.lang.reflect.InvocationHandler

TODO document


Constructor Summary
FactoryInterceptor()
           
 
Method Summary
 java.lang.Object getDelegatedProvided()
          Takes reference to delegated provided interface implementation.
 java.lang.Object getProvided(java.lang.String name)
          Takes reference to implementation of provided interface with given name.
 void init(ComponentInstance component, java.util.Map<java.lang.String,java.lang.String> parameters)
          Initialises microcomponent.
 java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
           
 void setDelegatedRequired(java.lang.Object ref)
          Gives the microcomponent reference to interface where to delegate calls.
 void setRequired(java.lang.String name, java.lang.Object ref)
          Gives the microcomponent reference to destination of its required interface.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FactoryInterceptor

public FactoryInterceptor()
Method Detail

init

public void init(ComponentInstance 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 - Parameters from the model extended by parameters from the Sofa2 runtime.
Throws:
SOFAException

getDelegatedProvided

public java.lang.Object getDelegatedProvided()
                                      throws SOFAException
Description copied from interface: SOFAMicroComponent
Takes reference to delegated provided interface implementation.

Specified by:
getDelegatedProvided in interface SOFAMicroComponent
Returns:
Reference to delegated provided interface implementation.
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

setDelegatedRequired

public void setDelegatedRequired(java.lang.Object ref)
                          throws SOFAException
Description copied from interface: SOFAMicroComponent
Gives the microcomponent reference to interface where to delegate calls.

Specified by:
setDelegatedRequired in interface SOFAMicroComponent
Parameters:
ref - Interface implementation reference to delegate to.
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

invoke

public java.lang.Object invoke(java.lang.Object proxy,
                               java.lang.reflect.Method method,
                               java.lang.Object[] args)
                        throws java.lang.Throwable
Specified by:
invoke in interface java.lang.reflect.InvocationHandler
Throws:
java.lang.Throwable