diff -r 5652acd48509 -r 42bc1e89134d emul/compact/src/main/java/java/io/FilterOutputStream.java --- a/emul/compact/src/main/java/java/io/FilterOutputStream.java Mon Feb 25 19:00:08 2013 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -/* - * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package java.io; - -/** - * This class is the superclass of all classes that filter output - * streams. These streams sit on top of an already existing output - * stream (the underlying output stream) which it uses as its - * basic sink of data, but possibly transforming the data along the - * way or providing additional functionality. - *

- * The class FilterOutputStream itself simply overrides - * all methods of OutputStream with versions that pass - * all requests to the underlying output stream. Subclasses of - * FilterOutputStream may further override some of these - * methods as well as provide additional methods and fields. - * - * @author Jonathan Payne - * @since JDK1.0 - */ -public -class FilterOutputStream extends OutputStream { - /** - * The underlying output stream to be filtered. - */ - protected OutputStream out; - - /** - * Creates an output stream filter built on top of the specified - * underlying output stream. - * - * @param out the underlying output stream to be assigned to - * the field this.out for later use, or - * null if this instance is to be - * created without an underlying stream. - */ - public FilterOutputStream(OutputStream out) { - this.out = out; - } - - /** - * Writes the specified byte to this output stream. - *

- * The write method of FilterOutputStream - * calls the write method of its underlying output stream, - * that is, it performs out.write(b). - *

- * Implements the abstract write method of OutputStream. - * - * @param b the byte. - * @exception IOException if an I/O error occurs. - */ - public void write(int b) throws IOException { - out.write(b); - } - - /** - * Writes b.length bytes to this output stream. - *

- * The write method of FilterOutputStream - * calls its write method of three arguments with the - * arguments b, 0, and - * b.length. - *

- * Note that this method does not call the one-argument - * write method of its underlying stream with the single - * argument b. - * - * @param b the data to be written. - * @exception IOException if an I/O error occurs. - * @see java.io.FilterOutputStream#write(byte[], int, int) - */ - public void write(byte b[]) throws IOException { - write(b, 0, b.length); - } - - /** - * Writes len bytes from the specified - * byte array starting at offset off to - * this output stream. - *

- * The write method of FilterOutputStream - * calls the write method of one argument on each - * byte to output. - *

- * Note that this method does not call the write method - * of its underlying input stream with the same arguments. Subclasses - * of FilterOutputStream should provide a more efficient - * implementation of this method. - * - * @param b the data. - * @param off the start offset in the data. - * @param len the number of bytes to write. - * @exception IOException if an I/O error occurs. - * @see java.io.FilterOutputStream#write(int) - */ - public void write(byte b[], int off, int len) throws IOException { - if ((off | len | (b.length - (len + off)) | (off + len)) < 0) - throw new IndexOutOfBoundsException(); - - for (int i = 0 ; i < len ; i++) { - write(b[off + i]); - } - } - - /** - * Flushes this output stream and forces any buffered output bytes - * to be written out to the stream. - *

- * The flush method of FilterOutputStream - * calls the flush method of its underlying output stream. - * - * @exception IOException if an I/O error occurs. - * @see java.io.FilterOutputStream#out - */ - public void flush() throws IOException { - out.flush(); - } - - /** - * Closes this output stream and releases any system resources - * associated with the stream. - *

- * The close method of FilterOutputStream - * calls its flush method, and then calls the - * close method of its underlying output stream. - * - * @exception IOException if an I/O error occurs. - * @see java.io.FilterOutputStream#flush() - * @see java.io.FilterOutputStream#out - */ - public void close() throws IOException { - try { - flush(); - } catch (IOException ignored) { - } - out.close(); - } -}