Search in sources :

Example 1 with ArrayStream

use of org.brackit.xquery.node.stream.ArrayStream in project sirix by sirixdb.

the class DBCollection method getDocuments.

@Override
public Stream<DBNode> getDocuments(final boolean updatable) throws DocumentException {
    final List<Path> resources = mDatabase.listResources();
    final List<DBNode> documents = new ArrayList<>(resources.size());
    for (final Path resourcePath : resources) {
        try {
            final String resourceName = resourcePath.getFileName().toString();
            final ResourceManager resource = mDatabase.getResourceManager(ResourceManagerConfiguration.newBuilder(resourceName).build());
            final XdmNodeReadTrx trx = updatable ? resource.beginNodeWriteTrx() : resource.beginNodeReadTrx();
            documents.add(new DBNode(trx, this));
        } catch (final SirixException e) {
            throw new DocumentException(e.getCause());
        }
    }
    return new ArrayStream<DBNode>(documents.toArray(new DBNode[documents.size()]));
}
Also used : Path(java.nio.file.Path) XdmNodeReadTrx(org.sirix.api.XdmNodeReadTrx) ArrayStream(org.brackit.xquery.node.stream.ArrayStream) DocumentException(org.brackit.xquery.xdm.DocumentException) ArrayList(java.util.ArrayList) SirixException(org.sirix.exception.SirixException) ResourceManager(org.sirix.api.ResourceManager)

Aggregations

Path (java.nio.file.Path)1 ArrayList (java.util.ArrayList)1 ArrayStream (org.brackit.xquery.node.stream.ArrayStream)1 DocumentException (org.brackit.xquery.xdm.DocumentException)1 ResourceManager (org.sirix.api.ResourceManager)1 XdmNodeReadTrx (org.sirix.api.XdmNodeReadTrx)1 SirixException (org.sirix.exception.SirixException)1