model/src/org/jetbrains/jps/idea/OwnServiceLoader.java (14 lines of code) (raw):
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.jps.idea;
import java.util.Iterator;
/**
* This class should be used instead of {@link java.util.ServiceLoader} because the standard ServiceLoader
* is not available in JDK 1.5
*
* @author nik
*/
public class OwnServiceLoader<S> implements Iterable<S> {
private Class<S> serviceClass;
private OwnServiceLoader(Class<S> serviceClass) {
this.serviceClass = serviceClass;
}
public static <S> OwnServiceLoader<S> load(Class<S> serviceClass) {
return new OwnServiceLoader<S>(serviceClass);
}
public Iterator<S> iterator() {
return sun.misc.Service.providers(serviceClass);
}
}