io.scalecube.services.ServiceLoaderUtil Maven / Gradle / Ivy
package io.scalecube.services;
import java.util.Optional;
import java.util.ServiceLoader;
import java.util.function.Predicate;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
public final class ServiceLoaderUtil {
private ServiceLoaderUtil() {
// Do not instantiate
}
public static Optional findFirstMatched(Class aClass) {
ServiceLoader load = ServiceLoader.load(aClass);
return StreamSupport.stream(load.spliterator(), false).findFirst();
}
public static Optional findFirst(Class aClass, Predicate super T> predicate) {
ServiceLoader load = ServiceLoader.load(aClass);
Stream stream = StreamSupport.stream(load.spliterator(), false);
return stream.filter(predicate).findFirst();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy