Interface Scheduler<QD extends QueryableData>
- Type Parameters:
QD- the queryable data type handled by this scheduler
- All Known Implementing Classes:
SimpleDynamicScheduler
public interface Scheduler<QD extends QueryableData>
A scheduler gives the next part of the conjunction to evaluate given the current level on the backtrack.
This order can either be static or dynamic and can change according to executions.
- Author:
- Guillaume Perution-Kihli
-
Method Summary
Modifier and TypeMethodDescriptiondeepCopy()Returns an independent copy of this scheduler.booleanhasNext(int level) Indicates whether another query remains to evaluate at the supplied level.PreparedFOQuery<? extends FOFormula, QD> next(int level, Substitution currentSolution) Returns the next prepared query to evaluate at the supplied level.
-
Method Details
-
next
PreparedFOQuery<? extends FOFormula, QD> next(int level, Substitution currentSolution) throws EvaluationException Returns the next prepared query to evaluate at the supplied level.- Parameters:
level- the current levelcurrentSolution- the current solution- Returns:
- the next element to evaluate at the given level
- Throws:
EvaluationException- if the scheduler cannot prepare the next query
-
hasNext
boolean hasNext(int level) Indicates whether another query remains to evaluate at the supplied level.- Parameters:
level- the current level- Returns:
- true iff there is a next element to evaluate at the given level
-
deepCopy
-