org.apache.felix.ipojo
Interface ServiceContext

All Superinterfaces:
org.osgi.framework.BundleContext
All Known Implementing Classes:
IPojoContext, PolicyServiceContext

public interface ServiceContext
extends org.osgi.framework.BundleContext

A service context give the access the a service broker. All service interaction should use this service context.

Author:
Felix Project Team

Method Summary
 void addServiceListener(org.osgi.framework.ServiceListener listener)
          Add a service listener.
 void addServiceListener(org.osgi.framework.ServiceListener listener, java.lang.String filter)
          Add a service listener.
 org.osgi.framework.ServiceReference[] getAllServiceReferences(java.lang.String clazz, java.lang.String filter)
          Get the service references matching with the given query.
 java.lang.Object getService(org.osgi.framework.ServiceReference reference)
          Get a service object.
 org.osgi.framework.ServiceReference getServiceReference(java.lang.String clazz)
          Get a service reference for the given interface.
 org.osgi.framework.ServiceReference[] getServiceReferences(java.lang.String clazz, java.lang.String filter)
          Get service reference list for the given query.
 org.osgi.framework.ServiceRegistration registerService(java.lang.String[] clazzes, java.lang.Object service, java.util.Dictionary properties)
          Register a service.
 org.osgi.framework.ServiceRegistration registerService(java.lang.String clazz, java.lang.Object service, java.util.Dictionary properties)
          Register a service.
 void removeServiceListener(org.osgi.framework.ServiceListener listener)
          Remove a service listener.
 boolean ungetService(org.osgi.framework.ServiceReference reference)
          Unget the service reference.
 
Methods inherited from interface org.osgi.framework.BundleContext
addBundleListener, addFrameworkListener, createFilter, getBundle, getBundle, getBundles, getDataFile, getProperty, installBundle, installBundle, removeBundleListener, removeFrameworkListener
 

Method Detail

addServiceListener

void addServiceListener(org.osgi.framework.ServiceListener listener,
                        java.lang.String filter)
                        throws org.osgi.framework.InvalidSyntaxException
Add a service listener.

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

addServiceListener

void addServiceListener(org.osgi.framework.ServiceListener listener)
Add a service listener.

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

getAllServiceReferences

org.osgi.framework.ServiceReference[] getAllServiceReferences(java.lang.String clazz,
                                                              java.lang.String filter)
                                                              throws org.osgi.framework.InvalidSyntaxException
Get the service references matching with the given query.

Specified by:
getAllServiceReferences in interface org.osgi.framework.BundleContext
Parameters:
clazz - : Required interface
filter - : LDAP filter
Returns:
the array of available service reference
Throws:
org.osgi.framework.InvalidSyntaxException - : occurs if the LDAP filter is malformed
See Also:
BundleContext.getAllServiceReferences(java.lang.String, java.lang.String)

getService

java.lang.Object getService(org.osgi.framework.ServiceReference reference)
Get a service object.

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

getServiceReference

org.osgi.framework.ServiceReference getServiceReference(java.lang.String clazz)
Get a service reference for the given interface.

Specified by:
getServiceReference in interface org.osgi.framework.BundleContext
Parameters:
clazz - : the required interface name
Returns:
a service reference on a available provider or null if no provider available
See Also:
BundleContext.getServiceReference(java.lang.String)

getServiceReferences

org.osgi.framework.ServiceReference[] getServiceReferences(java.lang.String clazz,
                                                           java.lang.String filter)
                                                           throws org.osgi.framework.InvalidSyntaxException
Get service reference list for the given query.

Specified by:
getServiceReferences in interface org.osgi.framework.BundleContext
Parameters:
clazz - : the name of the required service interface
filter - : LDAP filter to apply on service provider
Returns:
: the array of consistent service reference or null if no available provider
Throws:
org.osgi.framework.InvalidSyntaxException - : occurs if the LDAP filter is malformed
See Also:
BundleContext.getServiceReferences(java.lang.String, java.lang.String)

registerService

org.osgi.framework.ServiceRegistration registerService(java.lang.String[] clazzes,
                                                       java.lang.Object service,
                                                       java.util.Dictionary properties)
Register a service.

Specified by:
registerService in interface org.osgi.framework.BundleContext
Parameters:
clazzes - : interfaces provided by the service.
service - : the service object.
properties - : service properties.
Returns:
the service registration for this service publication.
See Also:
registerService(java.lang.String[], java.lang.Object, java.util.Dictionary)

registerService

org.osgi.framework.ServiceRegistration registerService(java.lang.String clazz,
                                                       java.lang.Object service,
                                                       java.util.Dictionary properties)
Register a service.

Specified by:
registerService in interface org.osgi.framework.BundleContext
Parameters:
clazz - : interface provided by the service.
service - : the service object.
properties - : service properties.
Returns:
the service registration for this service publication.
See Also:
BundleContext.registerService(java.lang.String, java.lang.Object, java.util.Dictionary)

removeServiceListener

void removeServiceListener(org.osgi.framework.ServiceListener listener)
Remove a service listener.

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

ungetService

boolean ungetService(org.osgi.framework.ServiceReference reference)
Unget the service reference.

Specified by:
ungetService in interface org.osgi.framework.BundleContext
Parameters:
reference - : the reference to unget
Returns:
true if you are the last user of the reference
See Also:
BundleContext.ungetService(org.osgi.framework.ServiceReference)