## org.w3c.jigsaw.acl
Class AclFilter

    java.lang.Object
      |
      +--org.w3c.tools.resources.AttributeHolder
            |
            +--org.w3c.tools.resources.Resource
                  |
                  +--org.w3c.tools.resources.FramedResource
                        |
                        +--org.w3c.tools.resources.ResourceFrame
                              |
                              +--org.w3c.tools.resources.ResourceFilter
                                    |
                                    +--org.w3c.jigsaw.acl.AclFilter

public class AclFilter
extends ResourceFilter

Field Summary
`protected static int` | `ATTR_ALGORITHM` Attribute index - The algorithm used
`protected static int` | `ATTR_NONCE_TTL` Attribute index - The nonce time to live (in seconds)
`protected static int` | `ATTR_PRIVATE_CACHABILITY` Attribute index - Is caching allowed in private cache ?
`protected static int` | `ATTR_PUBLIC_CACHABILITY` Attribute index - Is public caching of protected documents allowed ?
`protected static int` | `ATTR_SECURITY_LEVEL` Attribute index - Security level 0=Basic 1=Digest...
`protected static int` | `ATTR_SHARED_CACHABILITY` Attribute index - Is caching allowed by a shared cache ?
`protected static int` | `ATTR_STRICT_ACL_MERGE_POLICY` Attribute index - And or Or for multiple Acls
`protected static java.lang.Class` | `JAcl_class` The JAcl class.
`protected SecurityLevel` | `security`

Fields inherited from class org.w3c.tools.resources.ResourceFrame
`filterClass, frameListener, resource`

Fields inherited from class org.w3c.tools.resources.FramedResource
`ATTR_OID, attrListener, debugEvent, event_disabled, framesRef, structListener`

Fields inherited from class org.w3c.tools.resources.Resource
`ATTR_CONTEXT, ATTR_HELP_URL, ATTR_IDENTIFIER, ATTR_LAST_MODIFIED, ATTR_PARENT, ATTR_RESOURCE_FRAMES, ATTR_STORE_ENTRY, ATTR_URL`

Fields inherited from class org.w3c.tools.resources.AttributeHolder
`attributes, slowpickle, values`

Constructor Summary
`AclFilter()`

Method Summary
`protected void` | `authenticate(Request request, JAcl[] acls)` Authenticate the given request.
`protected JAcl[]` | `getAcls()`
`java.lang.String` | `getAlgorithm()` Get the algorithm used
`int` | `getNonceTTL()`
`boolean` | `getPrivateCachability()` Is this document cachable in private caches ?
`boolean` | `getPublicCachability()` Is this document publicly cachable ?
`int` | `getSecurityLevel()` Get the security level.
`boolean` | `getSharedCachability()` Is this document cachable in shared caches ?
`void` | `initialize(java.lang.Object[] values)` Initialize the filter.
`boolean` | `isStrictAclMergePolicy()` Returns true if we have a strict acl merge policy.
`boolean` | `lookup(LookupState ls, LookupResult lr)` Authenticate the given request for the given client.
`ReplyInterface` | `outgoingFilter(RequestInterface request, ReplyInterface reply)` Add the appropriate cache control directives on the way back.
`void` | `setValue(int idx, java.lang.Object value)` Catch set value to maintain cached values.

Methods inherited from class org.w3c.tools.resources.ResourceFilter
`exceptionFilter, getTargetResource, ingoingFilter, ingoingFilter, outgoingFilter, outputFilter`

Methods inherited from class org.w3c.tools.resources.ResourceFrame
`addFrameEventListener, attributeChanged, checkRequest, eventDisabled, fireFrameEvent, frameModified, getFilters, getFilters, getFrameReference, getResource, getResourceReference, getSpaceEntry, getURLPath, lookupFilters, lookupFrames, perform, postFrameEvent, processEvent, registerResource, removeFrameEventListener, unregisterResource, updateDefaultChildAttributes`

Methods inherited from class org.w3c.tools.resources.FramedResource

`addAttributeChangedListener, addStructureChangedListener, collectFramesReference, delete, disableEvent, displayEvent, enableEvent, fireAttributeChangeEvent, fireStructureChangedEvent, fireStructureChangedEvent, frameAdded, frameRemoved, getClone, getFrame, getFrame, getFrameReference, getFrameReference, getFramesReference, getOid, markModified, notifyUnload, performFrames, postAttributeChangeEvent, postEvent, postStructureChangedEvent, postStructureChangedEvent, registerFrame, registerFrameIfNone, removeAttributeChangedListener, removeStructureChangedListener, unregisterFrame`

Methods inherited from class org.w3c.tools.resources.Resource
`acceptUnload, checkMultipleLock, collectFrames, getContext, getFrame, getFrames, getHelpURL, getHelpURL, getIdentifier, getLastModified, getParent, getServer, getSpace, getStoreEntry, getValue, getValue, isInitialized, isUnloaded, setContext, setContext, setValue, updateAttributes`

Methods inherited from class org.w3c.tools.resources.AttributeHolder
`definesAttribute, definesAttribute, getAttributes, getBoolean, getChar, getClone, getClone, getDouble, getFloat, getInt, getLong, getString, getValue, initialize, lookupAttribute, pickle, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue, unpickle, unpickle, unpickle, unpickleInstance, unpickleInstance`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ATTR_SECURITY_LEVEL

    protected static int ATTR_SECURITY_LEVEL

  Attribute index - Security level 0=Basic 1=Digest...

### ATTR_ALGORITHM

    protected static int ATTR_ALGORITHM

  Attribute index - The algorithm used

### ATTR_NONCE_TTL

    protected static int ATTR_NONCE_TTL

  Attribute index - The nonce time to live (in seconds)

### ATTR_STRICT_ACL_MERGE_POLICY

    protected static int ATTR_STRICT_ACL_MERGE_POLICY

  Attribute index - And or Or for multiple Acls

### ATTR_SHARED_CACHABILITY

    protected static int ATTR_SHARED_CACHABILITY

  Attribute index - Is caching allowed by a shared cache ?

### ATTR_PRIVATE_CACHABILITY

    protected static int ATTR_PRIVATE_CACHABILITY

  Attribute index - Is caching allowed in private cache ?

### ATTR_PUBLIC_CACHABILITY

    protected static int ATTR_PUBLIC_CACHABILITY

  Attribute index - Is public caching of protected documents allowed ?

### JAcl_class

    protected static java.lang.Class JAcl_class

  The JAcl class.

### security

    protected SecurityLevel security

Constructor Detail

### AclFilter

    public AclFilter()

Method Detail

### getSecurityLevel

    public int getSecurityLevel()

  Get the security level.
  Returns:
    an integer;

### getAlgorithm

    public java.lang.String getAlgorithm()

  Get the algorithm used

### getNonceTTL

    public int getNonceTTL()

### isStrictAclMergePolicy

    public boolean isStrictAclMergePolicy()

  Returns true if we have a strict acl merge policy.
  Returns:
    a boolean.

### getPublicCachability

    public boolean getPublicCachability()

  Is this document publicly cachable ?
  Returns:
    A boolean.

### getPrivateCachability

    public boolean getPrivateCachability()

  Is this document cachable in private caches ?
  Returns:
    A boolean.

### getSharedCachability

    public boolean getSharedCachability()

  Is this document cachable in shared caches ?
  Returns:
    A boolean.

### getAcls

    protected JAcl[] getAcls()

### lookup

    public boolean lookup(LookupState ls,
                          LookupResult lr)
                   throws ProtocolException

  Authenticate the given request for the given client. This method is invoked prior to any request handling on its target entity. If the used authentication method allows so, AuthFilters should set the authuser attribute of the request.
  Parameters:
    `request` - The request.
  Throws:
    ProtocolException - If authentication failed.
  Overrides:
    lookup in class ResourceFilter

### authenticate

    protected void authenticate(Request request,
                                JAcl[] acls)
                         throws ProtocolException

  Authenticate the given request.
  Parameters:
    `request` - The request to be authentified.
    `acls` - The Access Control List array.
  Throws:
    ProtocolException - if authentication failed

### outgoingFilter

    public ReplyInterface outgoingFilter(RequestInterface request,
                                         ReplyInterface reply)

  Add the appropriate cache control directives on the way back.
  Parameters:
    `request` - The request that has been processed.
    `reply` - The original reply.
  Returns:
    Always null.
  Overrides:
    outgoingFilter in class ResourceFilter

### setValue

    public void setValue(int idx,
                         java.lang.Object value)

  Catch set value to maintain cached values.
  Overrides:
    setValue in class ResourceFrame

### initialize

    public void initialize(java.lang.Object[] values)

  Initialize the filter.
  Overrides:
    initialize in class FramedResource