SPARQLResultsTSVReader.java
/*******************************************************************************
* Copyright (c) 2018 Eclipse RDF4J contributors.
*
* 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.resultio.text.tsv;
import java.io.IOException;
import java.io.Reader;
import com.opencsv.CSVReader;
import com.opencsv.exceptions.CsvValidationException;
/**
* This reader respects the TSV semantics of RDF4J and does absolutely no processing except for splitting the line on
* horizontal tabulator characters.
*/
public class SPARQLResultsTSVReader extends CSVReader {
public SPARQLResultsTSVReader(Reader reader) {
super(reader);
}
@Override
public String[] readNext() throws IOException {
String line = getNextLine();
if (line == null) {
return null;
}
String[] fields = line.split("\t", -1);
try {
validateResult(fields, linesRead);
} catch (CsvValidationException ex) {
throw new IOException(ex);
}
return fields;
}
}