comparison src/org/eclipse/jetty/io/WriterOutputStream.java @ 802:3428c60d7cfc

replace jetty jars with source
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 07 Sep 2016 21:15:48 -0600
parents
children
comparison
equal deleted inserted replaced
801:6a21393191c1 802:3428c60d7cfc
1 //
2 // ========================================================================
3 // Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd.
4 // ------------------------------------------------------------------------
5 // All rights reserved. This program and the accompanying materials
6 // are made available under the terms of the Eclipse Public License v1.0
7 // and Apache License v2.0 which accompanies this distribution.
8 //
9 // The Eclipse Public License is available at
10 // http://www.eclipse.org/legal/epl-v10.html
11 //
12 // The Apache License v2.0 is available at
13 // http://www.opensource.org/licenses/apache2.0.php
14 //
15 // You may elect to redistribute this code under either of these licenses.
16 // ========================================================================
17 //
18
19 package org.eclipse.jetty.io;
20
21 import java.io.IOException;
22 import java.io.OutputStream;
23 import java.io.Writer;
24
25
26 /* ------------------------------------------------------------ */
27 /** Wrap a Writer as an OutputStream.
28 * When all you have is a Writer and only an OutputStream will do.
29 * Try not to use this as it indicates that your design is a dogs
30 * breakfast (JSP made me write it).
31 *
32 */
33 public class WriterOutputStream extends OutputStream
34 {
35 protected final Writer _writer;
36 protected final String _encoding;
37 private final byte[] _buf=new byte[1];
38
39 /* ------------------------------------------------------------ */
40 public WriterOutputStream(Writer writer, String encoding)
41 {
42 _writer=writer;
43 _encoding=encoding;
44 }
45
46 /* ------------------------------------------------------------ */
47 public WriterOutputStream(Writer writer)
48 {
49 _writer=writer;
50 _encoding=null;
51 }
52
53 /* ------------------------------------------------------------ */
54 @Override
55 public void close()
56 throws IOException
57 {
58 _writer.close();
59 }
60
61 /* ------------------------------------------------------------ */
62 @Override
63 public void flush()
64 throws IOException
65 {
66 _writer.flush();
67 }
68
69 /* ------------------------------------------------------------ */
70 @Override
71 public void write(byte[] b)
72 throws IOException
73 {
74 if (_encoding==null)
75 _writer.write(new String(b));
76 else
77 _writer.write(new String(b,_encoding));
78 }
79
80 /* ------------------------------------------------------------ */
81 @Override
82 public void write(byte[] b, int off, int len)
83 throws IOException
84 {
85 if (_encoding==null)
86 _writer.write(new String(b,off,len));
87 else
88 _writer.write(new String(b,off,len,_encoding));
89 }
90
91 /* ------------------------------------------------------------ */
92 @Override
93 public synchronized void write(int b)
94 throws IOException
95 {
96 _buf[0]=(byte)b;
97 write(_buf);
98 }
99 }
100