Class ACLProperties


  • public class ACLProperties
    extends Object
    Created by The eXo Platform SAS. Utility class to simplify operations with ACL properties of JCR nodes for PROPFIND method.
    Version:
    $
    Author:
    Vitaliy Gulyy - gavrikvetal@gmail.com
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static QName ACE
      Defines the name of the element corresponding to a property that the set of privileges to be either granted or denied to a single principal.
      static QName ACL
      Defines the name of the element corresponding to a protected property that specifies the list of access control entries.
      static QName ALL
      Defines the name of the element corresponding to a property that can be either an aggregate privilege that contains the entire set of privileges that can be applied to the resource or an aggregate principal that contains the entire set of principals.
      static QName DENY
      Defines the name of the element containing privileges to be denied.
      static QName GRANT
      Defines the name of the element containing privileges to be granted.
      static QName HREF
      Defines the name of the element corresponding to a property which is used to uniquely identify a principal.
      static QName PRINCIPAL
      Defines the name of the element corresponding to a property which identifies the principal to which this ACE applies.
      static QName PRIVILEGE
      Defines the name of the element containing privilege's name.
      static QName READ
      Defines the name of the element corresponding to read privilege which in current implementation aggregate: READ permission.
      static QName WRITE
      Defines the name of the element corresponding to write privilege which in current implementation aggregate: ADD_NODE, SET_PROPERTY, REMOVE permissions.
    • Constructor Summary

      Constructors 
      Constructor Description
      ACLProperties()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static org.exoplatform.common.util.HierarchicalProperty getACL​(org.exoplatform.services.jcr.impl.core.NodeImpl node)
      Gets AccessControlList and transform it to DAV:acl property view represented by a HierarchicalProperty instance.
      static org.exoplatform.common.util.HierarchicalProperty getOwner​(org.exoplatform.services.jcr.impl.core.NodeImpl node)
      Transform owner got from node's AccessControlList to tree like HierarchicalProperty instance to use in PROPFIND response body
    • Field Detail

      • ACL

        public static final QName ACL
        Defines the name of the element corresponding to a protected property that specifies the list of access control entries. More details can be found here.
      • ACE

        public static final QName ACE
        Defines the name of the element corresponding to a property that the set of privileges to be either granted or denied to a single principal. More details can be found here.
      • PRINCIPAL

        public static final QName PRINCIPAL
        Defines the name of the element corresponding to a property which identifies the principal to which this ACE applies. More details can be found here and here.
      • ALL

        public static final QName ALL
        Defines the name of the element corresponding to a property that can be either an aggregate privilege that contains the entire set of privileges that can be applied to the resource or an aggregate principal that contains the entire set of principals. More details can be found here.
      • HREF

        public static final QName HREF
        Defines the name of the element corresponding to a property which is used to uniquely identify a principal. More details can be found here.
      • PRIVILEGE

        public static final QName PRIVILEGE
        Defines the name of the element containing privilege's name. More details can be found here.
      • GRANT

        public static final QName GRANT
        Defines the name of the element containing privileges to be granted. More details can be found here.
      • DENY

        public static final QName DENY
        Defines the name of the element containing privileges to be denied. More details can be found here.
      • WRITE

        public static final QName WRITE
        Defines the name of the element corresponding to write privilege which in current implementation aggregate: ADD_NODE, SET_PROPERTY, REMOVE permissions. More details can be found here.
      • READ

        public static final QName READ
        Defines the name of the element corresponding to read privilege which in current implementation aggregate: READ permission. More details can be found here.
    • Constructor Detail

      • ACLProperties

        public ACLProperties()
    • Method Detail

      • getACL

        public static org.exoplatform.common.util.HierarchicalProperty getACL​(org.exoplatform.services.jcr.impl.core.NodeImpl node)
                                                                       throws javax.jcr.RepositoryException
        Gets AccessControlList and transform it to DAV:acl property view represented by a HierarchicalProperty instance.
        Parameters:
        node - - NodeImpl from which we are to get an ACL
        Returns:
        HierarchicalProperty - tree like structure corresponding to an DAV:acl property
        Throws:
        javax.jcr.RepositoryException
      • getOwner

        public static org.exoplatform.common.util.HierarchicalProperty getOwner​(org.exoplatform.services.jcr.impl.core.NodeImpl node)
                                                                         throws javax.jcr.RepositoryException
        Transform owner got from node's AccessControlList to tree like HierarchicalProperty instance to use in PROPFIND response body
        Parameters:
        node -
        Returns:
        HierarchicalProperty representation of node owner
        Throws:
        javax.jcr.RepositoryException