Class OsgiWhiteboard

java.lang.Object
org.apache.jackrabbit.oak.osgi.OsgiWhiteboard
All Implemented Interfaces:
Whiteboard

public class OsgiWhiteboard extends Object implements Whiteboard
OSGi-based whiteboard implementation.
  • Constructor Details

    • OsgiWhiteboard

      public OsgiWhiteboard(@NotNull @NotNull BundleContext context)
  • Method Details

    • register

      public <T> Registration register(Class<T> type, T service, Map<?,?> properties)
      Description copied from interface: Whiteboard
      Publishes the given service to the whiteboard. Use the returned registration object to unregister the service.
      Specified by:
      register in interface Whiteboard
      Parameters:
      type - type of the service
      service - service instance
      properties - service properties. Those need to use String keys, but for backwards compatibility reasons this is not enforced via generics.
      Returns:
      service registration
    • track

      public <T> Tracker<T> track(Class<T> type)
      Returns a tracker for services of the given type. The returned tracker is optimized for frequent Tracker.getServices() calls through the use of a pre-compiled list of services that's atomically updated whenever services are added, modified or removed.
      Specified by:
      track in interface Whiteboard
      Parameters:
      type - type of the services to track
      Returns:
      service tracker
    • track

      public <T> Tracker<T> track(Class<T> type, Map<String,String> filterProperties)
      Description copied from interface: Whiteboard
      Starts tracking services of the given type, with given attributes.
      Specified by:
      track in interface Whiteboard
      Parameters:
      type - type of the services to track
      filterProperties - only services with these properties will be tracked. Null keys are not permitted. Null values means that the property should be absent.
      Returns:
      service tracker