String getFilter() { Filter filter = registration.filter; return filter != NoFilter.INSTANCE ? filter.toString() : null; }
@Override public T addingService(ServiceReference<T> sref) { T service = super.addingService(sref); if (srvfilter == null || srvfilter.match(sref)) { serviceRef.set(moduleContext.getService(sref)); latch.countDown(); } return service; } };
@Override public T addingService(ServiceReference<T> sref) { T service = super.addingService(sref); if (serviceFilter == null || serviceFilter.match(sref)) { serviceRef.set(moduleContext.getService(sref)); latch.countDown(); } return service; } };
private boolean isMatchingService(ModuleContext context, ServiceState<?> serviceState, String clazzName, Filter filter, boolean checkAssignable) { if (serviceState.isUnregistered() || filter.match(serviceState) == false) return false; if (checkAssignable == false || clazzName == null) return true; return serviceState.isAssignableTo(context.getModule(), clazzName); }
/** * Create a {@code ServiceTracker} on the specified {@code Filter} object. * * <p> * Services which match the specified {@code Filter} object will be tracked * by this {@code ServiceTracker}. * * @param context The {@code ModuleContext} against which the tracking is * done. * @param filter The {@code Filter} to select the services to be tracked. * @param customizer The customizer object to call when services are added, * modified, or removed in this {@code ServiceTracker}. If customizer * is null, then this {@code ServiceTracker} will be used as the * {@code ServiceTrackerCustomizer} and this {@code ServiceTracker} * will call the {@code ServiceTrackerCustomizer} methods on itself. */ public ServiceTracker(final ModuleContext context, final Filter filter, final ServiceTrackerCustomizer<S, T> customizer) { this.context = context; this.trackReference = null; this.trackClass = null; this.listenerFilter = filter.toString(); this.filter = filter; this.customizer = (customizer == null) ? this : customizer; if ((context == null) || (filter == null)) { // we throw a NPE here to be consistent with the other constructors throw new NullPointerException(); } }
String filterstr = info.getFilter(); ServiceListener listener = listenerReg.getListener(); if (listenerReg.isAllServiceListener() || listenerReg.filter.match(reference)) { listener.serviceChanged(event); if (/* filter.match(reference.getPreviousProperties()) && */ !filter.match(reference)) { ServiceEvent endmatch = new ServiceEventImpl(ServiceEvent.MODIFIED_ENDMATCH, reference); listener.serviceChanged(endmatch);