org.apache.jackrabbit.webdav.security
Class AclProperty

java.lang.Object
  extended by org.apache.jackrabbit.webdav.property.AbstractDavProperty<List<AclProperty.Ace>>
      extended by org.apache.jackrabbit.webdav.security.AclProperty
All Implemented Interfaces:
DavConstants, DavProperty<List<AclProperty.Ace>>, PropEntry, XmlSerializable

public class AclProperty
extends AbstractDavProperty<List<AclProperty.Ace>>

AclProperty defines a protected property that specifies the list of access control entries (ACEs). The set of ACEs define the privileges granted or denied to principals on the resource a given property instance belongs to.
RFC 3744 defines the following format for this property:

 <!ELEMENT acl (ace*) >
 <!ELEMENT ace ((principal | invert), (grant|deny), protected?, inherited?)>
 <!ELEMENT principal (href | all | authenticated | unauthenticated | property | self)>
 <!ELEMENT invert (principal)>
 <!ELEMENT grant (privilege+)>
 <!ELEMENT deny (privilege+)>
 <!ELEMENT protected EMPTY>
 <!ELEMENT inherited (href)>
 

See Also:
for details regarding DAV:principal, for details regarding DAV:privilege

Nested Class Summary
static class AclProperty.Ace
          Simple WebDAV ACE implementation
 
Field Summary
 
Fields inherited from interface org.apache.jackrabbit.webdav.DavConstants
creationDateFormat, DEPTH_0, DEPTH_1, DEPTH_INFINITY, DEPTH_INFINITY_S, HEADER_AUTHORIZATION, HEADER_CONTENT_LANGUAGE, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_DAV, HEADER_DEPTH, HEADER_DESTINATION, HEADER_ETAG, HEADER_IF, HEADER_LAST_MODIFIED, HEADER_LOCK_TOKEN, HEADER_OVERWRITE, HEADER_TIMEOUT, INFINITE_TIMEOUT, modificationDateFormat, NAMESPACE, OPAQUE_LOCK_TOKEN_PREFIX, PROPERTY_CREATIONDATE, PROPERTY_DISPLAYNAME, PROPERTY_GETCONTENTLANGUAGE, PROPERTY_GETCONTENTLENGTH, PROPERTY_GETCONTENTTYPE, PROPERTY_GETETAG, PROPERTY_GETLASTMODIFIED, PROPERTY_LOCKDISCOVERY, PROPERTY_RESOURCETYPE, PROPERTY_SOURCE, PROPERTY_SUPPORTEDLOCK, PROPFIND_ALL_PROP, PROPFIND_ALL_PROP_INCLUDE, PROPFIND_BY_PROPERTY, PROPFIND_PROPERTY_NAMES, TIMEOUT_INFINITE, UNDEFINED_TIME, UNDEFINED_TIMEOUT, XML_ACTIVELOCK, XML_ALLPROP, XML_COLLECTION, XML_DEPTH, XML_DST, XML_EXCLUSIVE, XML_HREF, XML_INCLUDE, XML_KEEPALIVE, XML_LINK, XML_LOCKENTRY, XML_LOCKINFO, XML_LOCKROOT, XML_LOCKSCOPE, XML_LOCKTOKEN, XML_LOCKTYPE, XML_MULTISTATUS, XML_OMIT, XML_OWNER, XML_PROP, XML_PROPERTYBEHAVIOR, XML_PROPERTYUPDATE, XML_PROPFIND, XML_PROPNAME, XML_PROPSTAT, XML_REMOVE, XML_RESPONSE, XML_RESPONSEDESCRIPTION, XML_SET, XML_SHARED, XML_SOURCE, XML_STATUS, XML_TIMEOUT, XML_WRITE
 
Constructor Summary
AclProperty(AclProperty.Ace[] accessControlElements)
          Create a new AclProperty from the given ACEs.
 
Method Summary
static AclProperty.Ace createDenyAce(Principal principal, Privilege[] privileges, boolean invert, boolean isProtected, AclResource inheritedFrom)
           
static AclProperty createFromXml(Element aclElement)
          Build a new AclProperty object from the request body of the ACL method call.
static AclProperty.Ace createGrantAce(Principal principal, Privilege[] privileges, boolean invert, boolean isProtected, AclResource inheritedFrom)
           
 List<AclProperty.Ace> getValue()
          Returns the value of this property
 
Methods inherited from class org.apache.jackrabbit.webdav.property.AbstractDavProperty
equals, getName, hashCode, isInvisibleInAllprop, toXml
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AclProperty

public AclProperty(AclProperty.Ace[] accessControlElements)
Create a new AclProperty from the given ACEs.

See Also:
for a factory method to create a grant ACE., for a factory method to create a deny ACE.
Method Detail

getValue

public List<AclProperty.Ace> getValue()
Description copied from interface: DavProperty
Returns the value of this property

Returns:
a List of Ace object. If this property defines no ACEs an empty list is returned.
See Also:
DavProperty.getValue()

createFromXml

public static AclProperty createFromXml(Element aclElement)
                                 throws DavException
Build a new AclProperty object from the request body of the ACL method call.

Parameters:
aclElement -
Returns:
new AclProperty
Throws:
DavException

createGrantAce

public static AclProperty.Ace createGrantAce(Principal principal,
                                             Privilege[] privileges,
                                             boolean invert,
                                             boolean isProtected,
                                             AclResource inheritedFrom)

createDenyAce

public static AclProperty.Ace createDenyAce(Principal principal,
                                            Privilege[] privileges,
                                            boolean invert,
                                            boolean isProtected,
                                            AclResource inheritedFrom)


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