package de.ugoe.cs.autoquest.tasktrees.treeifc;

import de.ugoe.cs.autoquest.eventcore.IEventTarget;
import de.ugoe.cs.autoquest.eventcore.IEventType;

/**
 * TODO comment
 * 
 * @version $Revision: $ $Date: 21.02.2012$
 * @author 2012, last modified by $Author: patrick$
 */
public interface ITaskTreeNodeFactory
{

  /**
   * TODO: comment
   *
   * @param eventType
   * @param eventTarget
   * @return
   */
  IEventTask createNewEventTask(IEventType eventType, IEventTarget eventTarget);

  /**
   * TODO: comment
   *
   * @return
   */
  ISequence createNewSequence();

  /**
   * TODO: comment
   *
   * @return
   */
  IIteration createNewIteration();

  /**
   * TODO: comment
   *
   * @return
   */
  ISelection createNewSelection();

  /**
   * TODO: comment
   *
   * @param rootSequence
   * @return
   */
  ITaskTree createTaskTree(ITaskTreeNode root);

}
