
net.jhorstmann.i18n.ServiceLoaderHelper Maven / Gradle / Ivy
package net.jhorstmann.i18n;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ServiceLoader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
class ServiceLoaderHelper {
private static final Logger log = LoggerFactory.getLogger(ServiceLoaderHelper.class);
static List load(ClassLoader cl, Class factoryClass) {
if (log.isDebugEnabled()) {
String clname = cl.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(cl));
log.debug("Loading {} implementations for ClassLoader {}", factoryClass.getName(), clname);
}
ServiceLoader loader = ServiceLoader.load(factoryClass);
List result = new ArrayList();
Iterator iterator = loader.iterator();
while (iterator.hasNext()) {
T factory = iterator.next();
result.add(factory);
}
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy