Class NamedSpiManager<T>
- java.lang.Object
-
- io.opentelemetry.sdk.autoconfigure.internal.NamedSpiManager<T>
-
public final class NamedSpiManager<T> extends java.lang.Object
This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Optional<T>>
nameToImplementation
private java.util.Map<java.lang.String,java.util.function.Supplier<T>>
nameToProvider
-
Constructor Summary
Constructors Modifier Constructor Description private
NamedSpiManager(java.util.Map<java.lang.String,java.util.function.Supplier<T>> nameToProvider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static <T> NamedSpiManager<T>
create(java.util.Map<java.lang.String,java.util.function.Supplier<T>> nameToProvider)
static <T> NamedSpiManager<T>
createEmpty()
T
getByName(java.lang.String name)
Return an implementation by name, invoking the supplier if not previously invoked.private java.util.Optional<T>
tryLoadImplementationForName(java.lang.String name)
-
-
-
Constructor Detail
-
NamedSpiManager
private NamedSpiManager(java.util.Map<java.lang.String,java.util.function.Supplier<T>> nameToProvider)
-
-
Method Detail
-
create
static <T> NamedSpiManager<T> create(java.util.Map<java.lang.String,java.util.function.Supplier<T>> nameToProvider)
-
createEmpty
public static <T> NamedSpiManager<T> createEmpty()
-
getByName
@Nullable public T getByName(java.lang.String name)
Return an implementation by name, invoking the supplier if not previously invoked.
-
tryLoadImplementationForName
private java.util.Optional<T> tryLoadImplementationForName(java.lang.String name)
-
-