Interface ValueProviderRegistry
-
- All Superinterfaces:
ValueProviderResolver
- All Known Implementing Classes:
ValueProviderRegistry.Adapter,ValueProviderRegistryImpl
public interface ValueProviderRegistry extends ValueProviderResolver
ValueProvider registry
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classValueProviderRegistry.Adapter
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddUnknownKeyHandler(ValueProviderResolver valueTypeResolver)Register aValueProviderResolverthat will be used whengetValueProvider(String)will be called with a key that was not registered neither byregisterValueProvider(ValueProvider)nor byregisterAlias(ValueProvider, String).ValueProvidergetValueProvider(String key)Returns registered ValueProviderCollection<ValueProvider>getValueProviders()ValueProviderregisterAlias(ValueProvider valueProvider, String key)ValueProviderregisterorFindValueProvider(ValueProvider valueProvider)Registers a value provider, if there is no value provider with given valueProvider.getKeyvoidregisterValueProvider(ValueProvider valueProvider)Registers a value providervoidunregisterValueProvider(ValueProvider valueProvider)Unregisters a value provider.
-
-
-
Method Detail
-
getValueProvider
@Nullable ValueProvider getValueProvider(@NotNull String key)
Returns registered ValueProvider- Specified by:
getValueProviderin interfaceValueProviderResolver- Parameters:
key- to lookup- Returns:
- found registered ValueType
- See Also:
ValueProvider.getKey()
-
registerValueProvider
void registerValueProvider(@NotNull ValueProvider valueProvider)Registers a value provider- Parameters:
valueProvider- metric value provider- Throws:
IllegalArgumentException- if trying register a value provider with the same key
-
registerorFindValueProvider
ValueProvider registerorFindValueProvider(@NotNull ValueProvider valueProvider)
Registers a value provider, if there is no value provider with given valueProvider.getKey- Parameters:
valueProvider- value provider- Returns:
- registered value provider or existing, previously registered value provider with given key
-
registerAlias
ValueProvider registerAlias(@NotNull ValueProvider valueProvider, @NotNull String key)
-
unregisterValueProvider
void unregisterValueProvider(@NotNull ValueProvider valueProvider)Unregisters a value provider. If not registered, does nothing- Parameters:
valueProvider- to unregister
-
getValueProviders
@NotNull Collection<ValueProvider> getValueProviders()
- Returns:
- collection of all registered value providers in the system
-
addUnknownKeyHandler
void addUnknownKeyHandler(@NotNull ValueProviderResolver valueTypeResolver)Register aValueProviderResolverthat will be used whengetValueProvider(String)will be called with a key that was not registered neither byregisterValueProvider(ValueProvider)nor byregisterAlias(ValueProvider, String). ValueProviders provided byValueProviderResolverwill not be cached or registered and will not appear ingetValueProviders(). RegisteredValueProviderResolverwill be called in the order they were added until any returns aValueProvider. In order to provide default format and description for a keyValueProviderResolvermust return aValueProviderimplementing at leastclass(e.g.SimpleBuildMetricVT).- Parameters:
valueTypeResolver-ValueProviderResolverto register
-
-