TupleQueryResultBuilder.java
/*******************************************************************************
* Copyright (c) 2015 Eclipse RDF4J contributors, Aduna, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Distribution License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*******************************************************************************/
package org.eclipse.rdf4j.query.impl;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.rdf4j.query.AbstractTupleQueryResultHandler;
import org.eclipse.rdf4j.query.BindingSet;
import org.eclipse.rdf4j.query.TupleQueryResult;
import org.eclipse.rdf4j.query.TupleQueryResultHandlerException;
/**
* A TupleQueryResultHandler that can be used to create a TupleQueryResult object.
*/
public class TupleQueryResultBuilder extends AbstractTupleQueryResultHandler {
/*-----------*
* Variables *
*-----------*/
private List<String> bindingNames;
private List<BindingSet> bindingSetList = new ArrayList<>();
/*---------*
* Methods *
*---------*/
@Override
public void startQueryResult(List<String> bindingNames) throws TupleQueryResultHandlerException {
this.bindingNames = bindingNames;
bindingSetList = new ArrayList<>();
}
@Override
public void handleSolution(BindingSet bindingSet) throws TupleQueryResultHandlerException {
bindingSetList.add(bindingSet);
}
public TupleQueryResult getQueryResult() {
return new IteratingTupleQueryResult(bindingNames, bindingSetList);
}
}