Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ByteArrayRepresentation.java @ 408:7cdd63310d5c
Extend user interfaces to handle account information
artifacts/trunk@5244 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Bjoern Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Thu, 23 Aug 2012 13:39:30 +0000 |
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 :