/** * Creates a new service tracker collection, using the specified service context and listener. * Listener can be null, case when the default service collection listener is used. * * @param context bundle context * @param serviceClass class of the services to be tracked * @param collectionListener service events listener */ public ServiceCollection( final BundleContext context, final Class<T> serviceClass, final ServiceCollectionListener<T> collectionListener ) { LOG.debug( "Creating service collection for [" + serviceClass + "]" ); NullArgumentException.validateNotNull( context, "Context" ); NullArgumentException.validateNotNull( serviceClass, "Service class" ); m_context = context; m_serviceClass = serviceClass; if( collectionListener == null ) { m_collectionListener = new DefaultServiceCollectionListener<T>(); } else { m_collectionListener = collectionListener; } }