org.jtwig.renderable.StreamRenderResult Maven / Gradle / Ivy
package org.jtwig.renderable;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.Charset;
public class StreamRenderResult implements RenderResult {
private final OutputStream outputStream;
private final Charset charset;
public StreamRenderResult(OutputStream outputStream, Charset charset) {
this.outputStream = outputStream;
this.charset = charset;
}
@Override
public RenderResult append(String content) {
try {
outputStream.write(content.getBytes(charset));
} catch (IOException e) {
throw new RenderException(e);
}
return this;
}
@Override
public RenderResult flush() {
try {
outputStream.flush();
} catch (IOException e) {
throw new RenderException(e);
}
return this;
}
@Override
public String content() {
throw new UnsupportedOperationException("Cannot gather content from output stream");
}
}