|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Query
Objects implementing this interface are used for holding a query-reference which is used to find multiple solutions to a query.
Prolog.openPrologQuery(java.lang.String, java.util.Map)
Method Summary | |
---|---|
void |
close()
Closes a query. |
void |
cut()
Discards choices made since this query object was created, like the goal ! |
boolean |
nextSolution()
Gets the next solution for the query. |
Method Detail |
---|
void close() throws java.lang.NoSuchMethodException, java.lang.InterruptedException, java.lang.Exception
openPrologQuery
was called. If
the query is not the most recently opened, all still open queries
opened after this query will be closed as well.
A closed
or cut
query is invalidated and most
operations on it will throw an exception. In particular, you
should not call close
, cut
or
nextSolution
on an invalidated query.
Invalidates all Term objects created since this
query was created.
If you need to keep data created by the query (i.e. data
referred to by Term
objects),
you need to convert it to Java datatypes before calling this
function.
java.lang.NoSuchMethodException
java.lang.InterruptedException
java.lang.Exception
void cut() throws java.lang.NoSuchMethodException, java.lang.InterruptedException, java.lang.Exception
!
.
If the query is not the most recently opened, all still open queries opened after this query will be cut as well.
A closed
or cut
query is invalidated and most
operations on it will throw an exception. In particular, you
should not call close
, cut
or
nextSolution
on an invalidated query.
Invalidates all Term objects created since this
query was created.
If you need to keep data created by the query (i.e. data
referred to by Term
objects),
you need to convert it to Java datatypes before calling this
function.
java.lang.NoSuchMethodException
java.lang.InterruptedException
java.lang.Exception
boolean nextSolution() throws java.lang.NoSuchMethodException, java.lang.InterruptedException, java.lang.Exception
false
when there are no more
solutions. When no more solutions are needed, the query must be
closed using the method close()
.
Multiple queries can be open at the same time, but the calls to
nextSolution must be nested, i.e. refer to the most recently
opened query. Invalidates all Term
objects
created since this query was created
Invalidates all SPTerm objects created since this query was
created. If you need to keep data created by the previous call
to nextSolution
to this query (i.e. data referred
to by Term
objects), you need
to convert it to Java datatypes before calling this function.
java.lang.NoSuchMethodException
java.lang.InterruptedException
java.lang.Exception
Prolog.openPrologQuery(java.lang.String, java.util.Map)
,
close()
,
cut()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |