org.w3c.jigsaw.acl
Class AclFilter

java.lang.Object
  extended by org.w3c.tools.resources.AttributeHolder
      extended by org.w3c.tools.resources.Resource
          extended by org.w3c.tools.resources.FramedResource
              extended by org.w3c.tools.resources.ResourceFrame
                  extended by org.w3c.tools.resources.ResourceFilter
                      extended by org.w3c.jigsaw.acl.AclFilter
All Implemented Interfaces:
java.lang.Cloneable, java.util.EventListener, AttributeChangedListener, FrameEventListener, FilterInterface
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_LENIENT
          Attribute index - Do we enable workarounds ?
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, co, id
 
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 isLenient()
          Are we lenient in the way we check things? can be read as "Do we enable workarounds for broken implementations?"
 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, initialize, outgoingFilter, outputFilter, pickleValues
 
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, unsafeGetContext, unsafeGetFrame, unsafeGetFrames, unsafeGetIdentifier, unsafeGetResourceReference, unsafeGetURLPath, unsafeGetValue, updateAttributes
 
Methods inherited from class org.w3c.tools.resources.AttributeHolder
definesAttribute, definesAttribute, getAttributes, getBoolean, getChar, getClone, getClone, getDouble, getFloat, getInt, getLong, getString, getValue, lookupAttribute, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue, unsafeDefinesAttribute, unsafeGetDouble, unsafeGetString
 
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 ?


ATTR_LENIENT

protected static int ATTR_LENIENT
Attribute index - Do we enable workarounds ?


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.

isLenient

public boolean isLenient()
Are we lenient in the way we check things? can be read as "Do we enable workarounds for broken implementations?"

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.

Specified by:
lookup in interface FilterInterface
Overrides:
lookup in class ResourceFilter
Parameters:
request - The request.
Returns:
A boolean, true if this filter has performed the whole lookup, and side-effect the lookup result appropriatelly, false otherwise.
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
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
Parameters:
values - Default attribute values.