package eu.dnetlib.common.interfaces.nh;

public interface IBlackboardMessage {
// TODO documentation
	/**
	 * The Enum Action.
 	 */
	public enum Action {CREATE, DELETE, UPDATE, 
		MANAGE, RELEASE, CANCEL, INIT, HALT, 
		FEED, STORE, TRANSFORM, EXTRACT,
		LISTRECORDS, GETRECORD, LISTSETS, LISTMETADATAFORMATS, IDENTIFY, LISTIDENTIFIERS};

	/**
	 * The Enum ActionStatus.
	 */
	public enum ActionStatus {DONE, ONGOING, 
		FAILED, WAITING, ASSIGNED};

	/**
	 * Gets the action.
	 * 
	 * @return the action
	 */
	public Action getAction();
	
	/**
	 * Sets the action.
	 * 
	 * @param action the new action
	 */
	public void setAction(Action action);
	
	/**
	 * Gets the action status.
	 * 
	 * @return the action status
	 */
	public ActionStatus getActionStatus();
	
	/**
	 * Sets the action status.
	 * 
	 * @param status the new action status
	 */
	public void setActionStatus(ActionStatus status);


}
