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 Object implements SecurityConfiguration
Abstract base implementation for SecurityConfigurations that can combine different implementations.
  • Field Details

    • PARAM_RANKING

      public static final 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:
  • Constructor Details

    • CompositeConfiguration

      public CompositeConfiguration(@NotNull @NotNull String name)
    • CompositeConfiguration

      public CompositeConfiguration(@NotNull @NotNull String name, @NotNull @NotNull SecurityProvider securityProvider)
  • Method Details

    • 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 List<T> getConfigurations()
    • setSecurityProvider

      public void setSecurityProvider(@NotNull @NotNull SecurityProvider securityProvider)
    • getSecurityProvider

      @NotNull protected @NotNull SecurityProvider getSecurityProvider()
    • setRootProvider

      public void setRootProvider(@NotNull @NotNull RootProvider rootProvider)
    • getRootProvider

      @NotNull protected @NotNull RootProvider getRootProvider()
    • setTreeProvider

      public void setTreeProvider(@NotNull @NotNull TreeProvider treeProvider)
    • getTreeProvider

      @NotNull protected @NotNull TreeProvider getTreeProvider()
    • getName

      @NotNull public @NotNull String getName()
      Description copied from interface: SecurityConfiguration
      Returns the name of this security configuration.
      Specified by:
      getName in interface SecurityConfiguration
      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 present ConfigurationParameters.EMPTY should be returned.
      Specified by:
      getParameters in interface SecurityConfiguration
      Returns:
      The configuration parameters.
    • getWorkspaceInitializer

      @NotNull public @NotNull org.apache.jackrabbit.oak.spi.lifecycle.WorkspaceInitializer getWorkspaceInitializer()
      Description copied from interface: SecurityConfiguration
      Returns a workspace initializer for this security configuration. If this configuration doesn't require any specific workspace initialization WorkspaceInitializer.DEFAULT should be returned.
      Specified by:
      getWorkspaceInitializer in interface SecurityConfiguration
      Returns:
      An instance of WorkspaceInitializer.
    • getRepositoryInitializer

      @NotNull public @NotNull org.apache.jackrabbit.oak.spi.lifecycle.RepositoryInitializer getRepositoryInitializer()
      Description copied from interface: SecurityConfiguration
      Returns a repository initializer for this security configuration. If this configuration doesn't require any specific repository initialization RepositoryInitializer.DEFAULT should be returned.
      Specified by:
      getRepositoryInitializer in interface SecurityConfiguration
      Returns:
      An instance of RepositoryInitializer.
    • getCommitHooks

      @NotNull public @NotNull List<? extends org.apache.jackrabbit.oak.spi.commit.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 interface SecurityConfiguration
      Parameters:
      workspaceName - The name of the workspace.
      Returns:
      A list of commit hooks.
    • getValidators

      @NotNull public @NotNull List<? extends org.apache.jackrabbit.oak.spi.commit.ValidatorProvider> getValidators(@NotNull @NotNull String workspaceName, @NotNull @NotNull Set<Principal> principals, @NotNull @NotNull org.apache.jackrabbit.oak.spi.commit.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 interface SecurityConfiguration
      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 List<org.apache.jackrabbit.oak.spi.commit.ThreeWayConflictHandler> getConflictHandlers()
      Description copied from interface: SecurityConfiguration
      Returns the list of conflict handlers available for this security configuration.
      Specified by:
      getConflictHandlers in interface SecurityConfiguration
      Returns:
      A list of ThreeWayConflictHandler.
    • getProtectedItemImporters

      @NotNull public @NotNull List<ProtectedItemImporter> getProtectedItemImporters()
      Specified by:
      getProtectedItemImporters in interface SecurityConfiguration
      Returns:
      The list of protected item importers defined by this configuration.
    • getContext

      @NotNull public @NotNull Context getContext()
      Specified by:
      getContext in interface SecurityConfiguration
      Returns:
      The context defined by this configuration.
    • getMonitors

      @NotNull public @NotNull Iterable<org.apache.jackrabbit.oak.stats.Monitor<?>> getMonitors(@NotNull @NotNull org.apache.jackrabbit.oak.stats.StatisticsProvider statisticsProvider)
      Specified by:
      getMonitors in interface SecurityConfiguration