Class CompositeConfiguration<T extends SecurityConfiguration>
java.lang.Object
org.apache.jackrabbit.oak.spi.security.CompositeConfiguration<T>
- All Implemented Interfaces:
SecurityConfiguration
- Direct Known Subclasses:
CompositeAuthorizationConfiguration
,CompositePrincipalConfiguration
,CompositeTokenConfiguration
@ProviderType
public abstract class CompositeConfiguration<T extends SecurityConfiguration>
extends Object
implements SecurityConfiguration
Abstract base implementation for
SecurityConfiguration
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
FieldsModifier and TypeFieldDescriptionstatic final String
Parameter used to define the ranking of a given configuration compared to other registered configuration in this aggregate. -
Constructor Summary
ConstructorsConstructorDescriptionCompositeConfiguration
(@NotNull String name) CompositeConfiguration
(@NotNull String name, @NotNull SecurityProvider securityProvider) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addConfiguration
(T configuration) void
addConfiguration
(T configuration, @NotNull ConfigurationParameters params) @NotNull List<? extends CommitHook>
getCommitHooks
(@NotNull String workspaceName) Returns the list of commit hooks that need to be executed for the specified workspace name.@NotNull List<ThreeWayConflictHandler>
Returns the list of conflict handlers available for this security configuration.@NotNull Context
getMonitors
(@NotNull StatisticsProvider statisticsProvider) @NotNull String
getName()
Returns the name of this security configuration.@NotNull ConfigurationParameters
Returns the configuration parameters associated with this security configuration instance.@NotNull List<ProtectedItemImporter>
@NotNull RepositoryInitializer
Returns a repository initializer for this security configuration.protected @NotNull RootProvider
protected @NotNull SecurityProvider
protected @NotNull TreeProvider
@NotNull List<? extends ValidatorProvider>
getValidators
(@NotNull String workspaceName, @NotNull Set<Principal> principals, @NotNull MoveTracker moveTracker) Returns the list of validators that need to be executed for the specified workspace name.@NotNull WorkspaceInitializer
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 Details
-
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:
-
-
Constructor Details
-
CompositeConfiguration
-
CompositeConfiguration
public CompositeConfiguration(@NotNull @NotNull String name, @NotNull @NotNull SecurityProvider securityProvider)
-
-
Method Details
-
getDefaultConfig
-
setDefaultConfig
-
addConfiguration
-
addConfiguration
public void addConfiguration(@NotNull T configuration, @NotNull @NotNull ConfigurationParameters params) -
removeConfiguration
-
getConfigurations
-
setSecurityProvider
-
getSecurityProvider
-
setRootProvider
-
getRootProvider
-
setTreeProvider
-
getTreeProvider
-
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
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
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
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 List<? extends CommitHook> getCommitHooks(@NotNull @NotNull 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 List<? extends ValidatorProvider> getValidators(@NotNull @NotNull String workspaceName, @NotNull @NotNull Set<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
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
- Specified by:
getProtectedItemImporters
in interfaceSecurityConfiguration
- Returns:
- The list of protected item importers defined by this configuration.
-
getContext
- Specified by:
getContext
in interfaceSecurityConfiguration
- Returns:
- The context defined by this configuration.
-
getMonitors
@NotNull public @NotNull Iterable<Monitor<?>> getMonitors(@NotNull @NotNull StatisticsProvider statisticsProvider) - Specified by:
getMonitors
in interfaceSecurityConfiguration
-