Class FindAll
- java.lang.Object
-
- org.projog.core.predicate.AbstractSingleResultPredicate
-
- org.projog.core.predicate.builtin.compound.FindAll
-
- All Implemented Interfaces:
KnowledgeBaseConsumer,PredicateFactory,PreprocessablePredicateFactory
public final class FindAll extends AbstractSingleResultPredicate implements PreprocessablePredicateFactory
findall(X,P,L)- find all solutions that satisfy the goal.findall(X,P,L)produces a list (L) ofXfor each possible solution of the goalP. Succeeds withLunified to an empty list ifPhas no solutions.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classFindAll.PreprocessedFindAll
-
Constructor Summary
Constructors Constructor Description FindAll()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static TermcreateListOfAllSolutions(Term template, Predicate predicate)protected booleanevaluate(Term template, Term goal, Term output)private static booleanevaluateFindAll(PredicateFactory pf, Term template, Term goal, Term output)private static booleanhasFoundAnotherSolution(Predicate predicate)PredicateFactorypreprocess(Term term)-
Methods inherited from class org.projog.core.predicate.AbstractSingleResultPredicate
evaluate, evaluate, evaluate, evaluate, evaluate, getArithmeticOperators, getFileHandles, getKnowledgeBase, getOperands, getPredicate, getPredicates, getProjogListeners, getSpyPoints, getTermFormatter, init, isRetryable, setKnowledgeBase
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.projog.core.predicate.PredicateFactory
getPredicate, isAlwaysCutOnBacktrack, isRetryable
-
-
-
-
Method Detail
-
evaluate
protected boolean evaluate(Term template, Term goal, Term output)
- Overrides:
evaluatein classAbstractSingleResultPredicate
-
evaluateFindAll
private static boolean evaluateFindAll(PredicateFactory pf, Term template, Term goal, Term output)
-
createListOfAllSolutions
private static Term createListOfAllSolutions(Term template, Predicate predicate)
-
hasFoundAnotherSolution
private static boolean hasFoundAnotherSolution(Predicate predicate)
-
preprocess
public PredicateFactory preprocess(Term term)
- Specified by:
preprocessin interfacePreprocessablePredicateFactory
-
-