Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ByteArrayRepresentation.java @ 436:15179c77aa1d flys-2.9.3
Documentation, so that readers know a tiny bit more what is going on.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 16 Oct 2012 15:08:43 +0200 |
parents | 9798e4d83681 |
children |
line wrap: on
line source
package de.intevation.artifactdatabase.rest; import org.restlet.representation.Representation; import java.io.Reader; import java.io.OutputStream; import java.io.InputStream; import java.io.Writer; import java.io.IOException; import java.io.InputStreamReader; import java.io.ByteArrayInputStream; import java.nio.ByteBuffer; import java.nio.channels.ReadableByteChannel; import java.nio.channels.WritableByteChannel; import org.restlet.data.MediaType; public class ByteArrayRepresentation extends Representation { protected byte [] data; public ByteArrayRepresentation(MediaType mediaType, byte [] data) { super(mediaType); this.data = data; } @Override public long getSize() { return data.length; } @Override public ReadableByteChannel getChannel() throws IOException { return null; } @Override public Reader getReader() throws IOException { return new InputStreamReader(getStream()); } @Override public InputStream getStream() throws IOException { return new ByteArrayInputStream(data); } @Override public void write(Writer writer) throws IOException { writer.append(ByteBuffer.wrap(data).asCharBuffer()); } @Override public void write(WritableByteChannel writableChannel) throws IOException { writableChannel.write(ByteBuffer.wrap(data)); } @Override public void write(OutputStream outputStream) throws IOException { outputStream.write(data); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :