Class OsgiWhiteboard

  • All Implemented Interfaces:
    Whiteboard

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

      • OsgiWhiteboard

        public OsgiWhiteboard​(@NotNull
                              @NotNull BundleContext context)
    • Method Detail

      • 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
        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