org.openrdf.result.Result Maven / Gradle / Ivy
Show all versions of alibaba-repository-object Show documentation
/*
* Copyright Aduna (http://www.aduna-software.com/) (c) 1997-2009.
*
* Licensed under the Aduna BSD-style license.
*/
package org.openrdf.result;
import info.aduna.iteration.CloseableIteration;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import org.openrdf.query.QueryEvaluationException;
/**
* Super type of all query result types (TupleQueryResult, GraphQueryResult,
* etc.).
*
* @author Arjohn Kampman
* @author James Leigh
*/
public interface Result extends CloseableIteration {
/**
* Returns the next element from this cursor.
*
* @return the next element from this cursor, or null if the cursor
* has no more elements.
*/
public T next()
throws QueryEvaluationException;
/**
* Closes this cursor, freeing any resources that it is holding. If the
* cursor has already been closed then invoking this method has no effect.
* After closing a cursor, any subsequent calls to {@link #next()} will
* return null.
*
* Note to implementors: this method is also used to abort long running
* evaluations. It should be implemented in such a way that it can be called
* concurrently with {@link #next()} and that it stops evaluation as soon as
* possible. Calls to {@link #next()} that are already in progress are
* allowed to still return results, but after returning from {@link #close()}
* , the cursor must not produce any more results.
*/
public void close()
throws QueryEvaluationException;
/**
* Describes this cursor (recursively for any wrapped cursors).
*/
public String toString();
public boolean hasNext()
throws QueryEvaluationException;
public T singleResult()
throws QueryEvaluationException, NoResultException, MultipleResultException;
public List asList()
throws QueryEvaluationException;
public Set asSet()
throws QueryEvaluationException;
public > C addTo(C collection)
throws QueryEvaluationException;
}