org.apache.lenya.ac.impl
Class AbstractAccessControllerResolver

java.lang.Object
  extended by org.apache.avalon.framework.logger.AbstractLogEnabled
      extended by org.apache.lenya.ac.impl.AbstractAccessControllerResolver
All Implemented Interfaces:
org.apache.avalon.framework.component.Component, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.service.Serviceable, org.apache.avalon.framework.thread.ThreadSafe, AccessControllerResolver
Direct Known Subclasses:
ComposableAccessControllerResolver, ConfigurableAccessControllerResolver, PublicationAccessControllerResolver

public abstract class AbstractAccessControllerResolver
extends org.apache.avalon.framework.logger.AbstractLogEnabled
implements AccessControllerResolver, org.apache.avalon.framework.service.Serviceable, org.apache.avalon.framework.thread.ThreadSafe

Abstract implementation for access controller resolvers.

Version:
$Id: AbstractAccessControllerResolver.java 473841 2006-11-12 00:46:38Z gregor $

Field Summary
protected static int CAPACITY
           
 
Fields inherited from interface org.apache.lenya.ac.AccessControllerResolver
DEFAULT_RESOLVER, ROLE
 
Constructor Summary
AbstractAccessControllerResolver()
           
 
Method Summary
protected abstract  AccessController doResolveAccessController(java.lang.String webappUrl)
          The actual resolving method.
protected  java.lang.Object generateCacheKey(java.lang.String webappUrl, org.apache.excalibur.source.SourceResolver resolver)
          Generates a cache key for the access controller.
 org.apache.avalon.framework.service.ServiceManager getManager()
          Returns the service manager of this Serviceable.
 void release(AccessController controller)
          Releases a resolved access controller.
 AccessController resolveAccessController(java.lang.String webappUrl)
          Resolves an access controller for a certain URL.
 void service(org.apache.avalon.framework.service.ServiceManager manager)
           
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CAPACITY

protected static final int CAPACITY
See Also:
Constant Field Values
Constructor Detail

AbstractAccessControllerResolver

public AbstractAccessControllerResolver()
Method Detail

resolveAccessController

public AccessController resolveAccessController(java.lang.String webappUrl)
                                         throws AccessControlException
Description copied from interface: AccessControllerResolver
Resolves an access controller for a certain URL.

Specified by:
resolveAccessController in interface AccessControllerResolver
Parameters:
webappUrl - The URL within the web application (without context prefix).
Returns:
An access controller or null if no controller could be resolved.
Throws:
AccessControlException - when something went wrong.
See Also:
AccessControllerResolver.resolveAccessController(java.lang.String)

generateCacheKey

protected java.lang.Object generateCacheKey(java.lang.String webappUrl,
                                            org.apache.excalibur.source.SourceResolver resolver)
                                     throws AccessControlException
Generates a cache key for the access controller.

Parameters:
webappUrl - The webapp URL.
resolver - The source resolver.
Returns:
An object.
Throws:
AccessControlException - when something went wrong.

doResolveAccessController

protected abstract AccessController doResolveAccessController(java.lang.String webappUrl)
                                                       throws AccessControlException
The actual resolving method.

Parameters:
webappUrl - The URL within the web application.
Returns:
An access controller.
Throws:
AccessControlException - when something went wrong.

release

public void release(AccessController controller)
Description copied from interface: AccessControllerResolver
Releases a resolved access controller.

Specified by:
release in interface AccessControllerResolver
Parameters:
controller - The access controller to release.
See Also:
AccessControllerResolver.release(org.apache.lenya.ac.AccessController)

service

public void service(org.apache.avalon.framework.service.ServiceManager manager)
             throws org.apache.avalon.framework.service.ServiceException
Specified by:
service in interface org.apache.avalon.framework.service.Serviceable
Throws:
org.apache.avalon.framework.service.ServiceException
See Also:
Serviceable.service(org.apache.avalon.framework.service.ServiceManager)

getManager

public org.apache.avalon.framework.service.ServiceManager getManager()
Returns the service manager of this Serviceable.

Returns:
A service manager.


Copyright © 1999-2005 Apache Software Foundation. All Rights Reserved.