All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.day.jcr.vault.fs.spi.ACLManagement Maven / Gradle / Ivy

/*************************************************************************
 *
 * ADOBE CONFIDENTIAL
 * __________________
 *
 *  Copyright 2011 Adobe Systems Incorporated
 *  All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Adobe Systems Incorporated and its suppliers,
 * if any.  The intellectual and technical concepts contained
 * herein are proprietary to Adobe Systems Incorporated and its
 * suppliers and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Adobe Systems Incorporated.
 *
 **************************************************************************/

package com.day.jcr.vault.fs.spi;

import javax.jcr.Node;
import javax.jcr.RepositoryException;

/**
 * AccessControlManagement...
 */
public interface ACLManagement {

    /**
     * Checks if the given node type name is used for ACLs
     * @param name the node type name
     * @return true if used for ACLs
     */
    boolean isACLNodeType(String name);

    /**
     * Checks if the given node type name is use as access controllable
     * mixin.
     * @param name the node type name
     * @return true if the name is the mixin name
     */
    boolean isAccessControllableMixin(String name);


    /**
     * Checks if the given node is an ACL node.
     * @param node the node
     * @return true if it's an ACL node.
     * @throws RepositoryException if an error occurs
     */
    boolean isACLNode(Node node) throws RepositoryException;

    /**
     * Checks if the given node is access controllable, i.e. has the respective
     * mixin and adds it if missing.
     *
     * @param node the node to check
     * @return true if was made access controllable
     * @throws RepositoryException if an error occurs
     */
    boolean ensureAccessControllable(Node node) throws RepositoryException;

    /**
     * Removes all ACLs from the given node.
     *
     * @param node the node
     * @throws RepositoryException if an error occurs
     */
    void clearACL(Node node) throws RepositoryException;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy