org.apache.jackrabbit.core.security.authorization
Interface AccessControlProviderFactory

All Known Implementing Classes:
AccessControlProviderFactoryImpl

public interface AccessControlProviderFactory

The AccessControlProviderFactory is used to create AccessControlProviders for the various workspaces present in the repository. If a provider is no longer used by the workspace, it is closed.

The factory does not need to cache the created AccessControlProviders. They are used during the entire lifetime of their workspace, and are cached together with the respective workspace related objects by the repository implementation.

The AccessControlProviders are requested using a system Session. The system sessions have a distinct access control rules in order to prevent chicken-egg problems when setting up security for a workspace.


Method Summary
 void close()
          Dispose this AccessControlProviderFactory and its resources.
 AccessControlProvider createProvider(Session systemSession, WorkspaceSecurityConfig config)
          Creates an AccessControlProvider for the workspace of the given system session.
 void init(Session securitySession)
          Initalize this factory.
 

Method Detail

init

void init(Session securitySession)
          throws RepositoryException
Initalize this factory.

Parameters:
securitySession - Security Session.
Throws:
RepositoryException - If an error occurs.

close

void close()
           throws RepositoryException
Dispose this AccessControlProviderFactory and its resources.

Throws:
RepositoryException - if an error occurs.

createProvider

AccessControlProvider createProvider(Session systemSession,
                                     WorkspaceSecurityConfig config)
                                     throws RepositoryException
Creates an AccessControlProvider for the workspace of the given system session. If the passed configuration is null or does not have a provider entry, this factory must create a default provider. In any case the provider must be initialized before it is returned to the caller.

Parameters:
systemSession - the system session for the workspace the AccessControlProvider should be created for.
config - The security configuration for that workspace or null if no config entry is present. In this case the factory must use its default. The configuration is used to determine the implementation of AccessControlProvider to be used and to retrieve eventual configuration parameters.
Returns:
a new, initialized AccessControlProvider.
Throws:
RepositoryException - if an error occurs


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.