Mercurial > hg > monetdb-java
view src/main/java/org/monetdb/jdbc/MonetDownloadHandle.java @ 513:d771bfdd5288 onclient
We were sending one newline too many
author | Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com> |
---|---|
date | Mon, 23 Aug 2021 09:10:39 +0200 (2021-08-23) |
parents | 13b48891ac54 |
children |
line wrap: on
line source
package org.monetdb.jdbc; import org.monetdb.mcl.net.MapiSocket; import java.io.*; public class MonetDownloadHandle { private final MapiSocket server; private MapiSocket.DownloadStream stream = null; private String error = null; boolean closed = false; MonetDownloadHandle(MapiSocket server) { this.server = server; } public void sendError(String errorMessage) throws IOException { if (error != null) { throw new IOException("another error has already been sent: " + error); } error = errorMessage; } public InputStream getStream() throws IOException { if (error != null) { throw new IOException("cannot receive data after error has been sent"); } if (stream == null) { stream = server.downloadStream(); server.getOutputStream().flush(); } return stream; } public boolean hasBeenUsed() { return error != null || stream != null; } public String getError() { return error; } public void close() throws IOException { if (closed) { return; } if (stream != null) { stream.close(); } closed = true; } }