// Module    : $RCSfile: TaskTreeNodeFactory.java,v $
// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 21.02.2012 $
// Project   : TaskTreeCreator
// Creation  : 2012 by patrick
// Copyright : Patrick Harms, 2012

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

import de.ugoe.cs.quest.eventcore.IEventTarget;
import de.ugoe.cs.quest.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
   */
  ITextInputEventTask createNewTextInputEventTask(IEventTarget eventTarget);

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

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

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

}
