org.apache.jackrabbit.vault.fs.io.AccessControlHandling Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aem-sdk-api Show documentation
Show all versions of aem-sdk-api Show documentation
The Adobe Experience Manager SDK
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jackrabbit.vault.fs.io;
/**
* {@code AccessControlHandling} defines the behavior when importing
* access control nodes.
*/
public enum AccessControlHandling {
/**
* Ignores the packaged access control and leaves the target unchanged.
*/
IGNORE,
/**
* Applies the access control provided with the package to the target. this
* also removes existing access control.
*/
OVERWRITE,
/**
* Merge access control provided with the package with the one in the
* content by replacing the access control entries of corresponding
* principals (i.e. package first). It never alters access control entries
* of principals not present in the package.
*
* Example:
*
* Content ACL:
*
* everyone, deny, jcr:all
* bob, allow, jcr:read
* bob, allow, jcr:write
*
*
* Package ACL:
*
* bob, deny, jcr:all
* alice, allow, jcr:read
*
*
* Result ACL:
*
* everyone, deny, jcr:all
* bob, deny, jcr:all
* alice, allow, jcr:read
*
*/
MERGE,
/**
* Merge access control in the content with the one provided with the
* package by adding the access control entries of principals not present in the
* content (i.e. content first). It never alters access control entries already
* existing in the content.
*
*
* Example:
*
* Content ACL:
*
* everyone, deny, jcr:all
* bob, allow, jcr:read
* bob, allow, jcr:write
*
*
* Package ACL:
*
* bob, deny, jcr:all
* alice, allow, jcr:read
*
*
* Result ACL:
*
* everyone, deny, jcr:all
* bob, allow, jcr:read
* bob, allow, jcr:write
* alice, allow, jcr:read
*
*/
MERGE_PRESERVE,
/**
* Clears all access control on the target system.
*/
CLEAR,
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy