Class OsgiWhiteboard

  • All Implemented Interfaces:
    Whiteboard

    public class OsgiWhiteboard
    extends java.lang.Object
    implements Whiteboard
    OSGi-based whiteboard implementation.
    • Constructor Summary

      Constructors 
      Constructor Description
      OsgiWhiteboard​(@NotNull org.osgi.framework.BundleContext context)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> Registration register​(java.lang.Class<T> type, T service, java.util.Map<?,​?> properties)
      Publishes the given service to the whiteboard.
      <T> Tracker<T> track​(java.lang.Class<T> type)
      Returns a tracker for services of the given type.
      <T> Tracker<T> track​(java.lang.Class<T> type, java.util.Map<java.lang.String,​java.lang.String> filterProperties)
      Starts tracking services of the given type, with given attributes.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • OsgiWhiteboard

        public OsgiWhiteboard​(@NotNull
                              @NotNull org.osgi.framework.BundleContext context)
    • Method Detail

      • register

        public <T> Registration register​(java.lang.Class<T> type,
                                         T service,
                                         java.util.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​(java.lang.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​(java.lang.Class<T> type,
                                    java.util.Map<java.lang.String,​java.lang.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