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

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);
  
}
