package io.fathom.cloud.storage.api.os.resources;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.StreamingOutput;
import com.google.common.base.Charsets;
public abstract class TextWriter implements StreamingOutput {
protected OutputStreamWriter output;
@Override
public void write(OutputStream os) throws IOException, WebApplicationException {
if (this.output != null) {
throw new IllegalStateException();
}
this.output = new OutputStreamWriter(os, Charsets.UTF_8);
write0();
this.output.flush();
}
protected abstract void write0() throws IOException;
}