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
Direct Known Subclasses:
JigEditAclFilter

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, 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, setSilentValue, setSilentValue, 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, pickleValues, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue, unsafeGetValue
 
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.
Overrides:
lookup in class ResourceFilter
Parameters:
request - The request.
Throws:
ProtocolException - If authentication failed.

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.
Overrides:
outgoingFilter in class ResourceFilter
Parameters:
request - The request that has been processed.
reply - The original reply.
Returns:
Always null.

setValue

public void setValue(int idx,
                     java.lang.Object value)
Catch set value to maintain cached values.
Overrides:
setValue in class ResourceFrame
Tags copied from class: ResourceFrame
Parameters:
idx - The index of the attribute to modify.
value - The new attribute value.

initialize

public void initialize(java.lang.Object[] values)
Initialize the filter.
Overrides:
initialize in class FramedResource
Tags copied from class: FramedResource
Parameters:
values - Default attribute values.