/*
* Copyright (C) 2003-2007 eXo Platform SAS.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see<http://www.gnu.org/licenses/>.
*/
package org.exoplatform.services.cms.actions;
import java.util.Collection;
import java.util.Map;
import javax.jcr.Node;
public interface ActionPlugin {
public boolean isActionTypeSupported(String actionType);
public String getExecutableDefinitionName();
public String getActionExecutableLabel();
public Collection<String> getActionExecutables() throws Exception;
public String getActionExecutable(String actionTypeName) throws Exception;
public boolean isVariable(String variable) throws Exception;
public Collection<String> getVariableNames(String actionTypeName) throws Exception;
public void removeObservation(String repository, String moveName) throws Exception;
public void removeActivationJob(String jobName, String jobGroup, String jobClass) throws Exception;
public void addAction(String actionType,
String srcWorkspace,
String srcPath,
Map mappings) throws Exception;
public void addAction(String actionType,
String srcWorkspace,
String srcPath,
boolean isDeep,
String[] uuid,
String[] nodeTypeNames,
Map mappings) throws Exception;
public void initiateActionObservation(Node actionNode) throws Exception;
public void reScheduleActivations(Node actionNode) throws Exception;
public void executeAction(String userId, Node actionNode, Map variables) throws Exception;
public void executeAction(String userId, String executable, Map variables) throws Exception;
public void activateAction(String userId, String executable, Map variables) throws Exception;
}