org.apache.felix.ipojo.composite
Class CompositeServiceContext

java.lang.Object
  extended by org.apache.felix.ipojo.composite.CompositeServiceContext
All Implemented Interfaces:
ServiceContext, TrackerCustomizer, BundleContext

public class CompositeServiceContext
extends Object
implements ServiceContext, TrackerCustomizer

CompositeServiceContext Class. This class provides an implementation of the service context for composite.

Author:
Felix Project Team

Constructor Summary
CompositeServiceContext(BundleContext context)
          Constructor.
CompositeServiceContext(BundleContext context, ComponentInstance instance)
          Constructor.
 
Method Summary
 void addBundleListener(BundleListener arg0)
          Add a bundle listener.
 void addedService(ServiceReference reference)
          A matching reference has been added.
 void addFrameworkListener(FrameworkListener arg0)
          Add a framework listener.
 boolean addingService(ServiceReference reference)
          A new factory is detected.
 void addServiceListener(ServiceListener arg0)
          Add a service listener.
 void addServiceListener(ServiceListener arg0, String arg1)
          Add a filtered service listener.
 Filter createFilter(String arg0)
          Create a LDAP filter.
 ServiceReference[] getAllServiceReferences(String arg0, String arg1)
          Get all service references.
 Bundle getBundle()
          Get the current bundle.
 Bundle getBundle(long bundleId)
          Get the bundle object with the given id.
 Bundle[] getBundles()
          Get installed bundles.
 File getDataFile(String filename)
          Get a data file.
 String getProperty(String key)
          Get a property value.
 Object getService(ServiceReference arg0)
          Get a service object for the given service reference.
 ServiceReference getServiceReference(String arg0)
          Get a service reference for the required interface.
 ServiceReference[] getServiceReferences(String clazz, String filter)
          Get all accessible service reference for the given query.
 Bundle installBundle(String location)
          Install a bundle.
 Bundle installBundle(String location, InputStream input)
          Install a bundle.
 void modifiedService(ServiceReference reference, Object service)
          An imported factory is modified.
 ServiceRegistration registerService(String[] arg0, Object arg1, Dictionary arg2)
          Register a service inside the composite context.
 ServiceRegistration registerService(String arg0, Object arg1, Dictionary arg2)
          Register a service inside the composite context.
 void removeBundleListener(BundleListener listener)
          Remove a bundle listener.
 void removedService(ServiceReference reference, Object service)
          An imported factory disappears.
 void removeFrameworkListener(FrameworkListener listener)
          Remove a framework listener.
 void removeServiceListener(ServiceListener arg0)
          Remove a service listener.
 void start()
          Start the registry management.
 void stop()
          Stop the registry management.
 boolean ungetService(ServiceReference arg0)
          Unget a service.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompositeServiceContext

public CompositeServiceContext(BundleContext context)
Constructor. This constructor instantiate a service registry with the given bundle context.

Parameters:
context - : the bundle context

CompositeServiceContext

public CompositeServiceContext(BundleContext context,
                               ComponentInstance instance)
Constructor.

Parameters:
context - : the bundle context
instance - : the component instance owning this context
Method Detail

addServiceListener

public void addServiceListener(ServiceListener arg0)
Add a service listener.

Specified by:
addServiceListener in interface ServiceContext
Specified by:
addServiceListener in interface BundleContext
Parameters:
arg0 - : The service listener to add
See Also:
ServiceContext.addServiceListener(org.osgi.framework.ServiceListener)

addServiceListener

public void addServiceListener(ServiceListener arg0,
                               String arg1)
                        throws InvalidSyntaxException
Add a filtered service listener.

Specified by:
addServiceListener in interface ServiceContext
Specified by:
addServiceListener in interface BundleContext
Parameters:
arg0 - : the service listener object to add
arg1 - : the LDAP filter for this listener
Throws:
InvalidSyntaxException - : occurs if the LDAP filter is malformed
See Also:
ServiceContext.addServiceListener(org.osgi.framework.ServiceListener, java.lang.String)

getAllServiceReferences

public ServiceReference[] getAllServiceReferences(String arg0,
                                                  String arg1)
                                           throws InvalidSyntaxException
Get all service references.

Specified by:
getAllServiceReferences in interface ServiceContext
Specified by:
getAllServiceReferences in interface BundleContext
Parameters:
arg0 - : The required service interface.
arg1 - : LDAP filter
Returns:
the list of all service reference matching with the query
Throws:
InvalidSyntaxException - : occurs when the given filter is malformed
See Also:
ServiceContext.getAllServiceReferences(java.lang.String, java.lang.String)

getService

public Object getService(ServiceReference arg0)
Get a service object for the given service reference.

Specified by:
getService in interface ServiceContext
Specified by:
getService in interface BundleContext
Parameters:
arg0 - : the service reference
Returns:
the service object or null if the reference is no more valid or if the object is not accessible
See Also:
ServiceContext.getService(org.osgi.framework.ServiceReference)

getServiceReference

public ServiceReference getServiceReference(String arg0)
Get a service reference for the required interface.

Specified by:
getServiceReference in interface ServiceContext
Specified by:
getServiceReference in interface BundleContext
Parameters:
arg0 - : the required interface name
Returns:
the service reference or null if no available provider
See Also:
ServiceContext.getServiceReference(java.lang.String)

getServiceReferences

public ServiceReference[] getServiceReferences(String clazz,
                                               String filter)
                                        throws InvalidSyntaxException
Get all accessible service reference for the given query.

Specified by:
getServiceReferences in interface ServiceContext
Specified by:
getServiceReferences in interface BundleContext
Parameters:
clazz - : required interface
filter - : LDAP filter
Returns:
the list (array) of service reference matching with the query.
Throws:
InvalidSyntaxException - : occurs when the LDAP filter is malformed
See Also:
ServiceContext.getServiceReferences(java.lang.String, java.lang.String)

registerService

public ServiceRegistration registerService(String[] arg0,
                                           Object arg1,
                                           Dictionary arg2)
Register a service inside the composite context.

Specified by:
registerService in interface ServiceContext
Specified by:
registerService in interface BundleContext
Parameters:
arg0 - : list of interfaces to register.
arg1 - : service object
arg2 - : properties list
Returns:
the service registration
See Also:
ServiceContext.registerService(java.lang.String[], java.lang.Object, java.util.Dictionary)

registerService

public ServiceRegistration registerService(String arg0,
                                           Object arg1,
                                           Dictionary arg2)
Register a service inside the composite context.

Specified by:
registerService in interface ServiceContext
Specified by:
registerService in interface BundleContext
Parameters:
arg0 - : interface to register.
arg1 - : service object
arg2 - : properties list
Returns:
the service registration
See Also:
ServiceContext.registerService(java.lang.String, java.lang.Object, java.util.Dictionary)

removeServiceListener

public void removeServiceListener(ServiceListener arg0)
Remove a service listener.

Specified by:
removeServiceListener in interface ServiceContext
Specified by:
removeServiceListener in interface BundleContext
Parameters:
arg0 - : the service listener to remove
See Also:
ServiceContext.removeServiceListener(org.osgi.framework.ServiceListener)

ungetService

public boolean ungetService(ServiceReference arg0)
Unget a service.

Specified by:
ungetService in interface ServiceContext
Specified by:
ungetService in interface BundleContext
Parameters:
arg0 - the service reference to unget
Returns:
true
See Also:
ServiceContext.ungetService(org.osgi.framework.ServiceReference)

start

public void start()
Start the registry management.


stop

public void stop()
Stop the registry management.


addBundleListener

public void addBundleListener(BundleListener arg0)
Add a bundle listener. Delegate on the global bundle context.

Specified by:
addBundleListener in interface BundleContext
Parameters:
arg0 - : bundle listener to add
See Also:
BundleContext.addBundleListener(org.osgi.framework.BundleListener)

addFrameworkListener

public void addFrameworkListener(FrameworkListener arg0)
Add a framework listener. Delegate on the global bundle context.

Specified by:
addFrameworkListener in interface BundleContext
Parameters:
arg0 - : framework listener to add.
See Also:
BundleContext.addFrameworkListener(org.osgi.framework.FrameworkListener)

createFilter

public Filter createFilter(String arg0)
                    throws InvalidSyntaxException
Create a LDAP filter.

Specified by:
createFilter in interface BundleContext
Parameters:
arg0 - : String-form of the filter
Returns:
the created filter object
Throws:
InvalidSyntaxException - : if the given argument is not a valid against the LDAP grammar.
See Also:
BundleContext.createFilter(java.lang.String)

getBundle

public Bundle getBundle()
Get the current bundle.

Specified by:
getBundle in interface BundleContext
Returns:
the current bundle
See Also:
BundleContext.getBundle()

getBundle

public Bundle getBundle(long bundleId)
Get the bundle object with the given id.

Specified by:
getBundle in interface BundleContext
Parameters:
bundleId - : bundle id
Returns:
the bundle object
See Also:
BundleContext.getBundle(long)

getBundles

public Bundle[] getBundles()
Get installed bundles.

Specified by:
getBundles in interface BundleContext
Returns:
the list of installed bundles
See Also:
BundleContext.getBundles()

getDataFile

public File getDataFile(String filename)
Get a data file.

Specified by:
getDataFile in interface BundleContext
Parameters:
filename - : File name.
Returns:
the File object
See Also:
BundleContext.getDataFile(java.lang.String)

getProperty

public String getProperty(String key)
Get a property value.

Specified by:
getProperty in interface BundleContext
Parameters:
key - : key of the asked property
Returns:
the property value (object) or null if no property are associated with the given key
See Also:
BundleContext.getProperty(java.lang.String)

installBundle

public Bundle installBundle(String location)
                     throws BundleException
Install a bundle.

Specified by:
installBundle in interface BundleContext
Parameters:
location - : URL of the bundle to install
Returns:
the installed bundle
Throws:
BundleException - : if the bundle cannot be installed correctly
See Also:
BundleContext.installBundle(java.lang.String)

installBundle

public Bundle installBundle(String location,
                            InputStream input)
                     throws BundleException
Install a bundle.

Specified by:
installBundle in interface BundleContext
Parameters:
location - : URL of the bundle to install
input - :
Returns:
the installed bundle
Throws:
BundleException - : if the bundle cannot be installed correctly
See Also:
BundleContext.installBundle(java.lang.String, java.io.InputStream)

removeBundleListener

public void removeBundleListener(BundleListener listener)
Remove a bundle listener.

Specified by:
removeBundleListener in interface BundleContext
Parameters:
listener - : the listener to remove
See Also:
BundleContext.removeBundleListener(org.osgi.framework.BundleListener)

removeFrameworkListener

public void removeFrameworkListener(FrameworkListener listener)
Remove a framework listener.

Specified by:
removeFrameworkListener in interface BundleContext
Parameters:
listener - : the listener to remove
See Also:
BundleContext.removeFrameworkListener(org.osgi.framework.FrameworkListener)

addingService

public boolean addingService(ServiceReference reference)
A new factory is detected.

Specified by:
addingService in interface TrackerCustomizer
Parameters:
reference - : service reference
Returns:
true if not already imported.
See Also:
TrackerCustomizer.addingService(org.osgi.framework.ServiceReference)

addedService

public void addedService(ServiceReference reference)
A matching reference has been added. The import factory can now be imported.

Specified by:
addedService in interface TrackerCustomizer
Parameters:
reference - : the added reference.
See Also:
TrackerCustomizer.addedService(org.osgi.framework.ServiceReference)

modifiedService

public void modifiedService(ServiceReference reference,
                            Object service)
An imported factory is modified.

Specified by:
modifiedService in interface TrackerCustomizer
Parameters:
reference - : modified reference
service - : factory object.
See Also:
TrackerCustomizer.modifiedService(org.osgi.framework.ServiceReference, java.lang.Object)

removedService

public void removedService(ServiceReference reference,
                           Object service)
An imported factory disappears.

Specified by:
removedService in interface TrackerCustomizer
Parameters:
reference - : reference
service - : factory object.
See Also:
TrackerCustomizer.removedService(org.osgi.framework.ServiceReference, java.lang.Object)


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.