Package org.eclipse.rdf4j.repository
Class RepositoryResult<T>
- java.lang.Object
-
- org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<T,RepositoryException>
-
- org.eclipse.rdf4j.repository.RepositoryResult<T>
-
- All Implemented Interfaces:
AutoCloseable,Iterable<T>,org.eclipse.rdf4j.common.iteration.CloseableIteration<T,RepositoryException>,org.eclipse.rdf4j.common.iteration.Iteration<T,RepositoryException>
public class RepositoryResult<T> extends org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<T,RepositoryException> implements Iterable<T>
A RepositoryResult is a result collection of objects (for exampleStatement,Namespace, orResourceobjects) that can be iterated over. It keeps an open connection to the backend for lazy retrieval of individual results. Additionally it has some utility methods to fetch all results and add them to a collection.By default, a RepositoryResult is not necessarily a (mathematical) set: it may contain duplicate objects. Duplicate filtering can be
switched on, but this should not be used lightly as the filtering mechanism is potentially memory-intensive.A RepositoryResult needs to be
closedafter use to free up any resources (open connections, read locks, etc.) it has on the underlying repository.- Author:
- Jeen Broekstra, Arjohn Kampman
- See Also:
RepositoryConnection.getStatements(Resource, IRI, Value, boolean, Resource[]),RepositoryConnection.getNamespaces(),RepositoryConnection.getContextIDs()
-
-
Constructor Summary
Constructors Constructor Description RepositoryResult(org.eclipse.rdf4j.common.iteration.CloseableIteration<? extends T,RepositoryException> iter)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description <C extends Collection<T>>
CaddTo(C collection)Deprecated.UseIterations.addAll(Iteration, Collection)instead.List<T>asList()Deprecated.UseIterations.asList(Iteration)instead.voidenableDuplicateFilter()Switches on duplicate filtering while iterating over objects.protected voidhandleClose()booleanhasNext()Iterator<T>iterator()Tnext()voidremove()-
Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration
close, isClosed
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
RepositoryResult
public RepositoryResult(org.eclipse.rdf4j.common.iteration.CloseableIteration<? extends T,RepositoryException> iter)
-
-
Method Detail
-
hasNext
public boolean hasNext() throws RepositoryException- Specified by:
hasNextin interfaceorg.eclipse.rdf4j.common.iteration.Iteration<T,RepositoryException>- Throws:
RepositoryException
-
next
public T next() throws RepositoryException
- Specified by:
nextin interfaceorg.eclipse.rdf4j.common.iteration.Iteration<T,RepositoryException>- Throws:
RepositoryException
-
remove
public void remove() throws RepositoryException- Specified by:
removein interfaceorg.eclipse.rdf4j.common.iteration.Iteration<T,RepositoryException>- Throws:
RepositoryException
-
handleClose
protected void handleClose() throws RepositoryException- Overrides:
handleClosein classorg.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<T,RepositoryException>- Throws:
RepositoryException
-
enableDuplicateFilter
public void enableDuplicateFilter() throws RepositoryExceptionSwitches on duplicate filtering while iterating over objects. The RepositoryResult will keep track of the previously returned objects in aSetand on calling next() or hasNext() will ignore any objects that already occur in this Set.Caution: use of this filtering mechanism is potentially memory-intensive.
- Throws:
RepositoryException- if a problem occurred during initialization of the filter.
-
asList
@Deprecated public List<T> asList() throws RepositoryException
Deprecated.UseIterations.asList(Iteration)instead.Returns aListcontaining all objects of this RepositoryResult in order of iteration. The RepositoryResult is fully consumed and automatically closed by this operation.Note: use this method with caution! It pulls the entire RepositoryResult in memory and as such is potentially very memory-intensive.
- Returns:
- a List containing all objects of this RepositoryResult.
- Throws:
RepositoryException- if a problem occurred during retrieval of the results.- See Also:
addTo(Collection)
-
addTo
@Deprecated public <C extends Collection<T>> C addTo(C collection) throws RepositoryException
Deprecated.UseIterations.addAll(Iteration, Collection)instead.Adds all objects of this RepositoryResult to the supplied collection. The RepositoryResult is fully consumed and automatically closed by this operation.- Returns:
- A reference to the collection that was supplied.
- Throws:
RepositoryException- if a problem occurred during retrieval of the results.
-
-