public List<ServiceProvider> load(String namespace) { if (namespace == null) { throw new IllegalArgumentException("namespace cannot be null"); } namespace = namespace.toLowerCase(); if (!namespaces.contains(namespace)) { namespaces.add(namespace); { // load final ArrayList<ServiceProvider> list = new ArrayList<ServiceProvider>(loader.load(namespace)); for (final ServiceProvider provider : list) { register(namespace, provider); } } } final List<ServiceProvider> providers = new ArrayList<ServiceProvider>(); for (final Map.Entry<ID, ServiceProvider> entry : this.providers.entrySet()) { if (entry.getKey().getNamespace().equals(namespace)) { providers.add(entry.getValue()); } } return providers; }
public List<ServiceProvider> load(String namespace) { if (namespace == null) { throw new IllegalArgumentException("namespace cannot be null"); } namespace = namespace.toLowerCase(); if (!namespaces.contains(namespace)) { namespaces.add(namespace); { // load final ArrayList<ServiceProvider> list = new ArrayList<ServiceProvider>(loader.load(namespace)); for (final ServiceProvider provider : list) { register(namespace, provider); } } } final List<ServiceProvider> providers = new ArrayList<ServiceProvider>(); for (final Map.Entry<ID, ServiceProvider> entry : this.providers.entrySet()) { if (entry.getKey().getNamespace().equals(namespace)) { providers.add(entry.getValue()); } } return providers; }
private ServiceProvider getProvider(final ID id, final Set<ID> seen) { if (seen.contains(id)) { throw new ProviderCircularReferenceException(seen); } seen.add(id); { // Already loaded? final ServiceProvider provider = providers.get(id); if (provider != null) { return provider; } } { // Can we load it? final ServiceProvider provider = loader.load(id); if (provider != null) { register(id, provider, seen); return provider; } } return null; }
private ServiceProvider getProvider(final ID id, final Set<ID> seen) { if (seen.contains(id)) { throw new ProviderCircularReferenceException(seen); } seen.add(id); { // Already loaded? final ServiceProvider provider = providers.get(id); if (provider != null) { return provider; } } { // Can we load it? final ServiceProvider provider = loader.load(id); if (provider != null) { register(id, provider, seen); return provider; } } return null; }