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

import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeBuilder;
import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNode;
import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNodeFactory;

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

  /**
   * applies the rule to the given situation and returns a rule application result, if this was
   * successful
   */
  public RuleApplicationResult apply(ITaskTreeNode        parent,
                                     ITaskTreeBuilder     builder,
                                     ITaskTreeNodeFactory nodeFactory,
                                     boolean              finalize);
  
}
