Class CompositeConfiguration<T extends SecurityConfiguration>
- java.lang.Object
-
- org.apache.jackrabbit.oak.spi.security.CompositeConfiguration<T>
-
- All Implemented Interfaces:
SecurityConfiguration
- Direct Known Subclasses:
CompositePrincipalConfiguration
,CompositeTokenConfiguration
@ProviderType public abstract class CompositeConfiguration<T extends SecurityConfiguration> extends java.lang.Object implements SecurityConfiguration
Abstract base implementation forSecurityConfiguration
s that can combine different implementations.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.jackrabbit.oak.spi.security.SecurityConfiguration
SecurityConfiguration.Default
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PARAM_RANKING
Parameter used to define the ranking of a given configuration compared to other registered configuration in this aggregate.
-
Constructor Summary
Constructors Constructor Description CompositeConfiguration(@NotNull java.lang.String name)
CompositeConfiguration(@NotNull java.lang.String name, @NotNull SecurityProvider securityProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConfiguration(T configuration)
void
addConfiguration(T configuration, @NotNull ConfigurationParameters params)
@NotNull java.util.List<? extends CommitHook>
getCommitHooks(@NotNull java.lang.String workspaceName)
Returns the list of commit hooks that need to be executed for the specified workspace name.@NotNull java.util.List<T>
getConfigurations()
@NotNull java.util.List<ThreeWayConflictHandler>
getConflictHandlers()
Returns the list of conflict handlers available for this security configuration.@NotNull Context
getContext()
T
getDefaultConfig()
@NotNull java.lang.Iterable<Monitor<?>>
getMonitors(@NotNull StatisticsProvider statisticsProvider)
@NotNull java.lang.String
getName()
Returns the name of this security configuration.@NotNull ConfigurationParameters
getParameters()
Returns the configuration parameters associated with this security configuration instance.@NotNull java.util.List<ProtectedItemImporter>
getProtectedItemImporters()
@NotNull RepositoryInitializer
getRepositoryInitializer()
Returns a repository initializer for this security configuration.@NotNull java.util.List<? extends ValidatorProvider>
getValidators(@NotNull java.lang.String workspaceName, @NotNull java.util.Set<java.security.Principal> principals, @NotNull MoveTracker moveTracker)
Returns the list of validators that need to be executed for the specified workspace name.@NotNull WorkspaceInitializer
getWorkspaceInitializer()
Returns a workspace initializer for this security configuration.void
removeConfiguration(T configuration)
void
setDefaultConfig(T defaultConfig)
void
setRootProvider(@NotNull RootProvider rootProvider)
void
setSecurityProvider(@NotNull SecurityProvider securityProvider)
void
setTreeProvider(@NotNull TreeProvider treeProvider)
-
-
-
Field Detail
-
PARAM_RANKING
public static final java.lang.String PARAM_RANKING
Parameter used to define the ranking of a given configuration compared to other registered configuration in this aggregate. If the ranking parameter is missing a new configuration will be added at the end of the list.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CompositeConfiguration
public CompositeConfiguration(@NotNull @NotNull java.lang.String name)
-
CompositeConfiguration
public CompositeConfiguration(@NotNull @NotNull java.lang.String name, @NotNull @NotNull SecurityProvider securityProvider)
-
-
Method Detail
-
getDefaultConfig
@Nullable public T getDefaultConfig()
-
setDefaultConfig
public void setDefaultConfig(@NotNull T defaultConfig)
-
addConfiguration
public void addConfiguration(@NotNull T configuration)
-
addConfiguration
public void addConfiguration(@NotNull T configuration, @NotNull @NotNull ConfigurationParameters params)
-
removeConfiguration
public void removeConfiguration(@NotNull T configuration)
-
getConfigurations
@NotNull public @NotNull java.util.List<T> getConfigurations()
-
setSecurityProvider
public void setSecurityProvider(@NotNull @NotNull SecurityProvider securityProvider)
-
setRootProvider
public void setRootProvider(@NotNull @NotNull RootProvider rootProvider)
-
setTreeProvider
public void setTreeProvider(@NotNull @NotNull TreeProvider treeProvider)
-
getName
@NotNull public @NotNull java.lang.String getName()
Description copied from interface:SecurityConfiguration
Returns the name of this security configuration.- Specified by:
getName
in interfaceSecurityConfiguration
- Returns:
- The name of this configuration.
-
getParameters
@NotNull public @NotNull ConfigurationParameters getParameters()
Description copied from interface:SecurityConfiguration
Returns the configuration parameters associated with this security configuration instance. If no parameters are presentConfigurationParameters.EMPTY
should be returned.- Specified by:
getParameters
in interfaceSecurityConfiguration
- Returns:
- The configuration parameters.
-
getWorkspaceInitializer
@NotNull public @NotNull WorkspaceInitializer getWorkspaceInitializer()
Description copied from interface:SecurityConfiguration
Returns a workspace initializer for this security configuration. If this configuration doesn't require any specific workspace initializationWorkspaceInitializer.DEFAULT
should be returned.- Specified by:
getWorkspaceInitializer
in interfaceSecurityConfiguration
- Returns:
- An instance of
WorkspaceInitializer
.
-
getRepositoryInitializer
@NotNull public @NotNull RepositoryInitializer getRepositoryInitializer()
Description copied from interface:SecurityConfiguration
Returns a repository initializer for this security configuration. If this configuration doesn't require any specific repository initializationRepositoryInitializer.DEFAULT
should be returned.- Specified by:
getRepositoryInitializer
in interfaceSecurityConfiguration
- Returns:
- An instance of
RepositoryInitializer
.
-
getCommitHooks
@NotNull public @NotNull java.util.List<? extends CommitHook> getCommitHooks(@NotNull @NotNull java.lang.String workspaceName)
Description copied from interface:SecurityConfiguration
Returns the list of commit hooks that need to be executed for the specified workspace name.- Specified by:
getCommitHooks
in interfaceSecurityConfiguration
- Parameters:
workspaceName
- The name of the workspace.- Returns:
- A list of commit hooks.
-
getValidators
@NotNull public @NotNull java.util.List<? extends ValidatorProvider> getValidators(@NotNull @NotNull java.lang.String workspaceName, @NotNull @NotNull java.util.Set<java.security.Principal> principals, @NotNull @NotNull MoveTracker moveTracker)
Description copied from interface:SecurityConfiguration
Returns the list of validators that need to be executed for the specified workspace name.- Specified by:
getValidators
in interfaceSecurityConfiguration
- Parameters:
workspaceName
- The name of the workspace.principals
- The set of principals associated with the subject that is committing modifications.moveTracker
- The move tracker associated with the commit.- Returns:
- A list of validators.
-
getConflictHandlers
@NotNull public @NotNull java.util.List<ThreeWayConflictHandler> getConflictHandlers()
Description copied from interface:SecurityConfiguration
Returns the list of conflict handlers available for this security configuration.- Specified by:
getConflictHandlers
in interfaceSecurityConfiguration
- Returns:
- A list of
ThreeWayConflictHandler
.
-
getProtectedItemImporters
@NotNull public @NotNull java.util.List<ProtectedItemImporter> getProtectedItemImporters()
- Specified by:
getProtectedItemImporters
in interfaceSecurityConfiguration
- Returns:
- The list of protected item importers defined by this configuration.
-
getContext
@NotNull public @NotNull Context getContext()
- Specified by:
getContext
in interfaceSecurityConfiguration
- Returns:
- The context defined by this configuration.
-
getMonitors
@NotNull public @NotNull java.lang.Iterable<Monitor<?>> getMonitors(@NotNull @NotNull StatisticsProvider statisticsProvider)
- Specified by:
getMonitors
in interfaceSecurityConfiguration
-
-