01: /*
02: * Copyright 2005-2007 Noelios Consulting.
03: *
04: * The contents of this file are subject to the terms of the Common Development
05: * and Distribution License (the "License"). You may not use this file except in
06: * compliance with the License.
07: *
08: * You can obtain a copy of the license at
09: * http://www.opensource.org/licenses/cddl1.txt See the License for the specific
10: * language governing permissions and limitations under the License.
11: *
12: * When distributing Covered Code, include this CDDL HEADER in each file and
13: * include the License file at http://www.opensource.org/licenses/cddl1.txt If
14: * applicable, add the following below this CDDL HEADER, with the fields
15: * enclosed by brackets "[]" replaced with your own identifying information:
16: * Portions Copyright [yyyy] [name of copyright owner]
17: */
18:
19: package org.restlet.resource;
20:
21: import java.io.IOException;
22: import java.io.InputStream;
23: import java.io.OutputStream;
24:
25: import org.restlet.data.MediaType;
26: import org.restlet.util.ByteUtils;
27:
28: /**
29: * Representation based on a NIO byte channel.
30: *
31: * @author Jerome Louvel (contact@noelios.com)
32: */
33: public abstract class ChannelRepresentation extends Representation {
34: /**
35: * Constructor.
36: *
37: * @param mediaType
38: * The media type.
39: */
40: public ChannelRepresentation(MediaType mediaType) {
41: super (mediaType);
42: }
43:
44: /**
45: * Returns a stream with the representation's content.
46: *
47: * @return A stream with the representation's content.
48: */
49: public InputStream getStream() throws IOException {
50: return ByteUtils.getStream(getChannel());
51: }
52:
53: /**
54: * Writes the representation to a byte stream.
55: *
56: * @param outputStream
57: * The output stream.
58: */
59: public void write(OutputStream outputStream) throws IOException {
60: write(ByteUtils.getChannel(outputStream));
61: }
62: }
|