jdplus.sa.base.api.SaDiagnosticsFactoryLoader Maven / Gradle / Ivy
package jdplus.sa.base.api;
import java.lang.Iterable;
import java.util.Collections;
import java.util.List;
import java.util.ServiceLoader;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
/**
* Custom service loader for {@link jdplus.sa.base.api.SaDiagnosticsFactory}.
*
This class is thread-safe.
* Properties:
*
* - Quantifier: MULTIPLE
* - Fallback: null
* - Preprocessing: null
* - Mutability: NONE
* - Singleton: true
* - Name: null
* - Backend: null
* - Cleaner: null
* - Batch: false
* - Batch name: null
*
*/
public final class SaDiagnosticsFactoryLoader {
private static final Iterable SOURCE = ServiceLoader.load(SaDiagnosticsFactory.class);
private static final List RESOURCE = doLoad();
private SaDiagnosticsFactoryLoader() {
}
private static List doLoad() {
return StreamSupport.stream(SOURCE.spliterator(), false)
.collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
}
/**
* Gets a list of {@link jdplus.sa.base.api.SaDiagnosticsFactory} instances.
*
This method is thread-safe.
* @return the current non-null value
*/
public static List get() {
return RESOURCE;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy