Class ConfigurationOverrideMultiplexerImpl
java.lang.Object
org.apache.sling.caconfig.impl.override.ConfigurationOverrideMultiplexerImpl
- All Implemented Interfaces:
ConfigurationOverrideMultiplexer
,RankedServices.ChangeListener
public class ConfigurationOverrideMultiplexerImpl
extends Object
implements ConfigurationOverrideMultiplexer, RankedServices.ChangeListener
Detects all
ConfigurationOverrideProvider
implementations in the container
and consolidates their result based on service ranking.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
void
changed()
If a provider is added or removed parse and collect all overrides again (to ensure correct overall order is preserved).boolean
isAllOverridden
(@NotNull String contextPath, @NotNull String configName) Checks if the whole configuration for the given context path and name is overridden.overrideProperties
(@NotNull String contextPath, @NotNull String configName, @NotNull Map<String, Object> properties) Override properties for given context path and configuration name.overrideProperties
(@NotNull String contextPath, @NotNull String configName, @Nullable Resource configResource) Override properties in given configuration resource (if any overrides are defined).overrideProperties
(@NotNull String contextPath, @NotNull String configName, @Nullable Resource configResource, @NotNull ResourceResolver resourceResolver) Override properties in given configuration resource (if any overrides are defined).protected void
-
Constructor Details
-
ConfigurationOverrideMultiplexerImpl
public ConfigurationOverrideMultiplexerImpl()
-
-
Method Details
-
bindConfigurationOverrideProvider
protected void bindConfigurationOverrideProvider(ConfigurationOverrideProvider item, Map<String, Object> props) -
unbindConfigurationOverrideProvider
protected void unbindConfigurationOverrideProvider(ConfigurationOverrideProvider item, Map<String, Object> props) -
isAllOverridden
public boolean isAllOverridden(@NotNull @NotNull String contextPath, @NotNull @NotNull String configName) Description copied from interface:ConfigurationOverrideMultiplexer
Checks if the whole configuration for the given context path and name is overridden.- Specified by:
isAllOverridden
in interfaceConfigurationOverrideMultiplexer
- Parameters:
contextPath
- Context pathconfigName
- Config name- Returns:
- true if the whole configuration is overridden.
-
overrideProperties
public Map<String,Object> overrideProperties(@NotNull @NotNull String contextPath, @NotNull @NotNull String configName, @NotNull @NotNull Map<String, Object> properties) Description copied from interface:ConfigurationOverrideMultiplexer
Override properties for given context path and configuration name.- Specified by:
overrideProperties
in interfaceConfigurationOverrideMultiplexer
- Parameters:
contextPath
- Path of context resource for which configuration was resolvedconfigName
- Configuration nameproperties
- Resolved configuration properties- Returns:
- Overwritten or replaced properties - or null if no override took place
-
overrideProperties
public Resource overrideProperties(@NotNull @NotNull String contextPath, @NotNull @NotNull String configName, @Nullable @Nullable Resource configResource) Description copied from interface:ConfigurationOverrideMultiplexer
Override properties in given configuration resource (if any overrides are defined).- Specified by:
overrideProperties
in interfaceConfigurationOverrideMultiplexer
- Parameters:
contextPath
- Context pathconfigName
- Configuration nameconfigResource
- Resolved configuration resource- Returns:
- Resource with overwritten configuration properties - or original configuration resource if no override took place
-
overrideProperties
public Resource overrideProperties(@NotNull @NotNull String contextPath, @NotNull @NotNull String configName, @Nullable @Nullable Resource configResource, @NotNull @NotNull ResourceResolver resourceResolver) Description copied from interface:ConfigurationOverrideMultiplexer
Override properties in given configuration resource (if any overrides are defined).- Specified by:
overrideProperties
in interfaceConfigurationOverrideMultiplexer
- Parameters:
contextPath
- Context pathconfigName
- Configuration nameconfigResource
- Resolved configuration resourceresourceResolver
- Resource resolver- Returns:
- Resource with overwritten configuration properties - or original configuration resource if no override took place
-
changed
public void changed()If a provider is added or removed parse and collect all overrides again (to ensure correct overall order is preserved).- Specified by:
changed
in interfaceRankedServices.ChangeListener
-