org.objectweb.dsrg.sofa.bootstrap
Class MIServicePublisherOSGi

java.lang.Object
  extended by org.objectweb.dsrg.sofa.bootstrap.MIServicePublisherOSGi
All Implemented Interfaces:
MIServicePublisher, SOFAMicroComponent, SOFAMicroInterceptor

public class MIServicePublisherOSGi
extends java.lang.Object
implements SOFAMicroInterceptor, MIServicePublisher

ServicePublisher controller for OSGi services

It implements the ServicePublisher aspect and enables SOFA2 components to publish their interfaces as OSGi services


Nested Class Summary
 class MIServicePublisherOSGi.Publisher
          Represents a single service (interface)
 
Constructor Summary
MIServicePublisherOSGi()
           
 
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(ComponentDescription component, java.util.Map<java.lang.String,java.lang.String> parameters)
          Initializes the controller
 void publish()
          Publish services
 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.
 void unpublish()
          Unpublish services
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MIServicePublisherOSGi

public MIServicePublisherOSGi()
Method Detail

init

public void init(ComponentDescription component,
                 java.util.Map<java.lang.String,java.lang.String> parameters)
          throws SOFAException
Initializes the controller

Specified by:
init in interface SOFAMicroComponent
Parameters:
component - SOFA2 component
parameters - parameters
Throws:
SOFAException

getDelegatedProvided

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

Specified by:
getDelegatedProvided in interface SOFAMicroInterceptor
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: SOFAMicroInterceptor
Gives the microcomponent reference to interface where to delegate calls.

Specified by:
setDelegatedRequired in interface SOFAMicroInterceptor
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

publish

public void publish()
Publish services

Specified by:
publish in interface MIServicePublisher

unpublish

public void unpublish()
Unpublish services

Specified by:
unpublish in interface MIServicePublisher