All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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