@Override public void unregisterAll(Class<?> clazz) { for (ServiceRegistration registration : getRegistrations(clazz)) { unregister(registration); } }
@Override public void unregisterAll(Class<?> clazz) { for (ServiceRegistration registration : getRegistrations(clazz)) { unregister(registration); } }
/** {@inheritDoc} */ @Override public <T> Collection<T> findProviders(Class<T> serviceInterface, String filter) { Filter f = filter == null ? new AnyFilter() : new FilterParser().parse(filter); Set<ServiceRegistration> registrations = getRegistrations(serviceInterface); Set<T> providers = new LinkedHashSet<T>(registrations.size()); for(ServiceRegistration registration : registrations) { if (f.match(registration.getProperties())) { providers.add(registration.getProvider(serviceInterface)); } } return providers; }
/** {@inheritDoc} */ @Override public <T> Collection<T> findProviders(Class<T> serviceInterface, String filter) { Filter f = filter == null ? new AnyFilter() : new FilterParser().parse(filter); Set<ServiceRegistration> registrations = getRegistrations(serviceInterface); Set<T> providers = new LinkedHashSet<T>(registrations.size()); for(ServiceRegistration registration : registrations) { if (f.match(registration.getProperties())) { providers.add(registration.getProvider(serviceInterface)); } } return providers; }
/** {@inheritDoc} */ @Override public <T> void addListener(Class<T> service, RegistrationListener<T> listener, boolean notifyForExistingProviders) { if (notifyForExistingProviders) { Set<ServiceRegistration> registrations = null; synchronized (m_registrationMap) { m_listenerMap.add(service, listener); registrations = getRegistrations(service); } for(ServiceRegistration registration : registrations) { listener.providerRegistered(registration, registration.getProvider(service)); } } else { m_listenerMap.add(service, listener); } }
/** {@inheritDoc} */ @Override public <T> void addListener(Class<T> service, RegistrationListener<T> listener, boolean notifyForExistingProviders) { if (notifyForExistingProviders) { Set<ServiceRegistration> registrations = null; synchronized (m_registrationMap) { m_listenerMap.add(service, listener); registrations = getRegistrations(service); } for(ServiceRegistration registration : registrations) { listener.providerRegistered(registration, registration.getProvider(service)); } } else { m_listenerMap.add(service, listener); } }