Service Activator Toolkit
Version 1.1.0 (20081206)

org.eclipse.soda.sat.core.record.interfaces
Interface IServiceDetecter


public interface IServiceDetecter

The IServiceDetecter interface defines the API of an object that will detect the registration and unregistration of services of a specified type. The following responsibilities are declared:

An IServiceDetecter can have listeners that are an implementation of the interface ServiceDetecterListener that are notified when a service of the specified type has been added to, or removed from, the IServiceDetecter. An IServiceDetecter may include a filter that allows for finer grained service detection within a specified type.

Note: In most situations it is simply not necessary to use an IServiceDetecter, since explicit service registration is preferable. Situations where using IServiceDetecter is helpful include:

Note: Instances of this interface can be created using the FactoryUtility class.


Method Summary
 void acquire()
          Acquire the imported services.
 void addServiceDetecterListener(ServiceDetecterListener listener)
          Add ServiceDetecterListener to the detecter.
 String getName()
          Get the name of the service being detected.
 List getServiceReferences()
          Query the service references that have been detected.
 List getServiceReferences(String filter)
          Query the service references that have been detected, filtered by the specified LDAP filter.
 List getServices()
          Query the services that have been detected.
 List getServices(String filter)
          Query the services that have been detected, filtered by the specified LDAP filter.
 boolean isAcquired()
          Query whether the detecter is acquired or not.
 void release()
          Release the services contained in the IServiceDetecter.
 void removeServiceDetecterListener(ServiceDetecterListener listener)
          Add ServiceDetecterListener to the detecter.
 void setFilter(String filter)
          Sets the IServiceDetecter object's service filter.
 

Method Detail

acquire

void acquire()
Acquire the imported services.


addServiceDetecterListener

void addServiceDetecterListener(ServiceDetecterListener listener)
Add ServiceDetecterListener to the detecter.

Parameters:
listener - A ServiceDetecterListener.

getName

String getName()
Get the name of the service being detected.

Returns:
A service name.

getServiceReferences

List getServiceReferences()
Query the service references that have been detected.

Returns:
The detected service reference objects.

getServiceReferences

List getServiceReferences(String filter)
                          throws InvalidSyntaxException
Query the service references that have been detected, filtered by the specified LDAP filter.

Parameters:
filter - An LDAP filter with which to filter the service references objects.
Returns:
The detected service reference objects.
Throws:
InvalidSyntaxException - when the filter parameter is invalid.

getServices

List getServices()
Query the services that have been detected.

Returns:
The detected service objects.

getServices

List getServices(String filter)
                 throws InvalidSyntaxException
Query the services that have been detected, filtered by the specified LDAP filter.

Parameters:
filter - An LDAP filter with which to filter the service objects.
Returns:
The detected service objects.
Throws:
InvalidSyntaxException - when the filter parameter is invalid.

isAcquired

boolean isAcquired()
Query whether the detecter is acquired or not.

Returns:
True if the detecter is acquired, otherwise false.

release

void release()
Release the services contained in the IServiceDetecter.


removeServiceDetecterListener

void removeServiceDetecterListener(ServiceDetecterListener listener)
Add ServiceDetecterListener to the detecter.

Parameters:
listener - A ServiceDetecterListener.

setFilter

void setFilter(String filter)
               throws InvalidSyntaxException
Sets the IServiceDetecter object's service filter. The filter is applied to existing services and services that are subsequently registered with the OSGi framework. Services that do not match the filter are removed from the IServiceDetecter. Registered services that match the filter, will be added to the IServiceDetecter.

Parameters:
filter - The LDAP service filter.
Throws:
InvalidSyntaxException - when the specified filter is invalid.

Service Activator Toolkit
Version 1.1.0 (20081206)