Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ByteArrayRepresentation.java @ 461:e9e37a8ac74b 2.9.14
Added tag 2.9.13 for changeset 3c1177c58312
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Fri, 15 Mar 2013 10:15:18 +0100 |
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 :