private static ServiceDiscoveryBackend getBackend(String maybeName) { ServiceLoader<ServiceDiscoveryBackend> backends = ServiceLoader.load(ServiceDiscoveryBackend.class); Iterator<ServiceDiscoveryBackend> iterator = backends.iterator(); if (maybeName == null) { if (!iterator.hasNext()) { return new DefaultServiceDiscoveryBackend(); } else { return iterator.next(); } } if (maybeName.equals(DefaultServiceDiscoveryBackend.class.getName())) { return new DefaultServiceDiscoveryBackend(); } // We have a name while (iterator.hasNext()) { ServiceDiscoveryBackend backend = iterator.next(); if (backend.name().equals(maybeName)) { return backend; } } throw new IllegalStateException("Cannot find the discovery backend implementation with name " + maybeName + " in " + "the classpath"); }
private static ServiceDiscoveryBackend getBackend(String maybeName) { ServiceLoader<ServiceDiscoveryBackend> backends = ServiceLoader.load(ServiceDiscoveryBackend.class); Iterator<ServiceDiscoveryBackend> iterator = backends.iterator(); if (maybeName == null) { if (!iterator.hasNext()) { return new DefaultServiceDiscoveryBackend(); } else { return iterator.next(); } } if (maybeName.equals(DefaultServiceDiscoveryBackend.class.getName())) { return new DefaultServiceDiscoveryBackend(); } // We have a name while (iterator.hasNext()) { ServiceDiscoveryBackend backend = iterator.next(); if (backend.name().equals(maybeName)) { return backend; } } throw new IllegalStateException("Cannot find the discovery backend implementation with name " + maybeName + " in " + "the classpath"); }