Class ConfigurationOverrideMultiplexerImpl
java.lang.Object
org.apache.sling.caconfig.impl.override.ConfigurationOverrideMultiplexerImpl
- All Implemented Interfaces:
ConfigurationOverrideMultiplexer,org.apache.sling.commons.osgi.RankedServices.ChangeListener
public class ConfigurationOverrideMultiplexerImpl
extends Object
implements ConfigurationOverrideMultiplexer, org.apache.sling.commons.osgi.RankedServices.ChangeListener
Detects all
ConfigurationOverrideProvider implementations in the container
and consolidates their result based on service ranking.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbindConfigurationOverrideProvider(org.apache.sling.caconfig.spi.ConfigurationOverrideProvider item, Map<String, Object> props) voidchanged()If a provider is added or removed parse and collect all overrides again (to ensure correct overall order is preserved).booleanisAllOverridden(@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.org.apache.sling.api.resource.ResourceoverrideProperties(@NotNull String contextPath, @NotNull String configName, @Nullable org.apache.sling.api.resource.Resource configResource) Override properties in given configuration resource (if any overrides are defined).org.apache.sling.api.resource.ResourceoverrideProperties(@NotNull String contextPath, @NotNull String configName, @Nullable org.apache.sling.api.resource.Resource configResource, @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver) Override properties in given configuration resource (if any overrides are defined).protected voidunbindConfigurationOverrideProvider(org.apache.sling.caconfig.spi.ConfigurationOverrideProvider item, Map<String, Object> props)
-
Constructor Details
-
ConfigurationOverrideMultiplexerImpl
public ConfigurationOverrideMultiplexerImpl()
-
-
Method Details
-
bindConfigurationOverrideProvider
-
unbindConfigurationOverrideProvider
-
isAllOverridden
public boolean isAllOverridden(@NotNull @NotNull String contextPath, @NotNull @NotNull String configName) Description copied from interface:ConfigurationOverrideMultiplexerChecks if the whole configuration for the given context path and name is overridden.- Specified by:
isAllOverriddenin 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:ConfigurationOverrideMultiplexerOverride properties for given context path and configuration name.- Specified by:
overridePropertiesin 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 org.apache.sling.api.resource.Resource overrideProperties(@NotNull @NotNull String contextPath, @NotNull @NotNull String configName, @Nullable @Nullable org.apache.sling.api.resource.Resource configResource) Description copied from interface:ConfigurationOverrideMultiplexerOverride properties in given configuration resource (if any overrides are defined).- Specified by:
overridePropertiesin 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 org.apache.sling.api.resource.Resource overrideProperties(@NotNull @NotNull String contextPath, @NotNull @NotNull String configName, @Nullable @Nullable org.apache.sling.api.resource.Resource configResource, @NotNull @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver) Description copied from interface:ConfigurationOverrideMultiplexerOverride properties in given configuration resource (if any overrides are defined).- Specified by:
overridePropertiesin 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:
changedin interfaceorg.apache.sling.commons.osgi.RankedServices.ChangeListener
-