/*
* (C) Copyright 2017 Netcentric AG.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package biz.netcentric.cq.tools.actool.api;
public interface AcInstallationService {
/** Applies the full configuration as stored at the path configured at PID biz.netcentric.cq.tools.actool.impl.AcInstallationServiceImpl
* to the repository.
*
* @return the installation log */
public InstallationLog apply();
/** Applies the configuration as stored at the given configurationRootPath to the repository.
*
* @param configurationRootPath the root path for configuration files
* @return the installation log */
public InstallationLog apply(String configurationRootPath);
/** Applies parts of the configuration (based on given paths)
*
* @param restrictedToPaths only apply ACLs to root paths as given
* @return the installation log */
public InstallationLog apply(String[] restrictedToPaths);
/** Applies the configuration as stored at the given configurationRootPath to the repository, but only apply ACEs to given
* restrictedToPaths.
*
* @param restrictedToPaths only apply ACLs to root paths as given
* @param configurationRootPath the root path for configuration files
* @return the installation log */
public InstallationLog apply(String configurationRootPath, String[] restrictedToPaths);
/** purges all acls of the node specified by path (no deletion of acls of subnodes)
*
* @param path the path from which to purge the ACL
* @return status message */
public String purgeACL(final String path);
/** Purges all acls of the node specified by path and all acls of all subnodes
*
* @param path the path from which to purge the ACL (including those of all subnodes)
* @return status message */
public String purgeACLs(final String path);
/** Purges authorizable(s) and all respective aces from the system
*
* @param authorizableIds Array of authorizableIds to purge
* @return status message */
public String purgeAuthorizables(String[] authorizableIds);
}