package org.opennaas.core.resources.capability;
import org.opennaas.core.resources.action.IAction;
import org.opennaas.core.resources.action.IActionSet;
public interface IQueueingCapability extends ICapability {
/**
* Creates an action given its id.
*
* @param actionId
* @return
* @throws CapabilityException
*/
public IAction createAction(String actionId) throws CapabilityException;
/**
* Adds given action at the end of the queue.
*
* @param action
* to put in the queue
* @throws CapabilityException
* if failed to put action in the queue
*/
public void queueAction(IAction action) throws CapabilityException;
/**
* Sends to the queue all actions required to refresh this the model required for this capability.
*
* @throws CapabilityException
*/
public void sendRefreshActions() throws CapabilityException;
/**
* Returns the list of actions ids that are available for this capability.
*
* @return
* @throws CapabilityException
*/
public IActionSet getActionSet() throws CapabilityException;
}