01: // This file is part of KeY - Integrated Deductive Software Design
02: // Copyright (C) 2001-2007 Universitaet Karlsruhe, Germany
03: // Universitaet Koblenz-Landau, Germany
04: // Chalmers University of Technology, Sweden
05: //
06: // The KeY system is protected by the GNU General Public License.
07: // See LICENSE.TXT for details.
08: //
09: //
10:
11: package de.uka.ilkd.key.strategy.feature.instantiator;
12:
13: import de.uka.ilkd.key.rule.RuleApp;
14:
15: /**
16: * One branch of a <code>ChoicePoint</code>. An object of this interface will
17: * be notified each time the <code>BackTrackingManager</code> decides to take
18: * this branch, and can be asked for the current rule application.
19: */
20: public interface CPBranch {
21:
22: /**
23: * Invoked by branch manager when this branch of a choice point has been
24: * chosen
25: */
26: void choose();
27:
28: /**
29: * @return the updated <code>RuleApp</code> that results when this branch
30: * of a choice point has been chosen
31: */
32: RuleApp getRuleAppForBranch();
33:
34: }
|