Class WhiteboardServiceTracker<T>

  • All Implemented Interfaces:
    org.osgi.util.tracker.ServiceTrackerCustomizer<T,​org.osgi.framework.ServiceReference<T>>
    Direct Known Subclasses:
    FilterTracker, ListenersTracker, PreprocessorTracker, ResourceTracker, ServletTracker

    public abstract class WhiteboardServiceTracker<T>
    extends org.osgi.util.tracker.ServiceTracker<T,​org.osgi.framework.ServiceReference<T>>
    Service tracker for all whiteboard services except servlet context helper. This tracker does not get/unget the service objects itself, but just forwards the service reference by creating an info data object. Each sub class creates a different data object.
    • Field Summary

      • Fields inherited from class org.osgi.util.tracker.ServiceTracker

        context, filter
    • Constructor Detail

      • WhiteboardServiceTracker

        public WhiteboardServiceTracker​(WhiteboardManager contextManager,
                                        org.osgi.framework.BundleContext bundleContext,
                                        String filterExpr)
        Create a new tracker
        Parameters:
        contextManager - The context manager
        bundleContext - The bundle context.
        filterExpr - The filter expression for the services to track
    • Method Detail

      • close

        public void close()
        Overrides:
        close in class org.osgi.util.tracker.ServiceTracker<T,​org.osgi.framework.ServiceReference<T>>
      • addingService

        public final org.osgi.framework.ServiceReference<T> addingService​(org.osgi.framework.ServiceReference<T> ref)
        Specified by:
        addingService in interface org.osgi.util.tracker.ServiceTrackerCustomizer<T,​org.osgi.framework.ServiceReference<T>>
        Overrides:
        addingService in class org.osgi.util.tracker.ServiceTracker<T,​org.osgi.framework.ServiceReference<T>>
      • modifiedService

        public final void modifiedService​(org.osgi.framework.ServiceReference<T> ref,
                                          org.osgi.framework.ServiceReference<T> service)
        Specified by:
        modifiedService in interface org.osgi.util.tracker.ServiceTrackerCustomizer<T,​org.osgi.framework.ServiceReference<T>>
        Overrides:
        modifiedService in class org.osgi.util.tracker.ServiceTracker<T,​org.osgi.framework.ServiceReference<T>>
      • removedService

        public final void removedService​(org.osgi.framework.ServiceReference<T> ref,
                                         org.osgi.framework.ServiceReference<T> service)
        Specified by:
        removedService in interface org.osgi.util.tracker.ServiceTrackerCustomizer<T,​org.osgi.framework.ServiceReference<T>>
        Overrides:
        removedService in class org.osgi.util.tracker.ServiceTracker<T,​org.osgi.framework.ServiceReference<T>>
      • getServiceInfo

        protected abstract WhiteboardServiceInfo<T> getServiceInfo​(org.osgi.framework.ServiceReference<T> ref)
        Implemented by sub classes to create the correct whiteboard service info object.
        Parameters:
        ref - The service reference
        Returns:
        A whiteboard service info