Modifier and Type | Method and Description |
---|---|
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.
|
public boolean nextSolution() throws SPException
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 SPTerm
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 SPTerm
objects), you need
to convert it to Java datatypes before calling this function.
nextSolution
in interface Query
SPException
- If a Prolog exception was thrown during
the query.SICStus.openQuery(java.lang.String, java.lang.String, se.sics.jasper.SPTerm[])
,
close()
,
cut()
public void close()
openQuery
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 SPTerm objects created since this
query was created
If you need to keep data created by the query (i.e. data
referred to by SPTerm
objects),
you need to convert it to Java datatypes before calling this
function.
public void cut() throws SPException
!
.
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 SPTerm objects created since this
query was created
If you need to keep data created by the query (i.e. data
referred to by SPTerm
objects),
you need to convert it to Java datatypes before calling this
function.
cut
in interface Query
SPException