~ubuntu-branches/ubuntu/quantal/commons-io/quantal

« back to all changes in this revision

Viewing changes to src/java/org/apache/commons/io/output/CloseShieldOutputStream.java

  • Committer: Bazaar Package Importer
  • Author(s): Varun Hiremath
  • Date: 2008-02-21 13:26:43 UTC
  • mfrom: (1.1.3 upstream) (3.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080221132643-p4c8f8lhb9rnqnlo
Tags: 1.4-1
* New upstream release
* Bump Standards-Version to 3.7.3
* Bump up debhelper compat to 6
* Replace XS-Vcs headers with Vcs
* debian/patches:
  - remove 01_no_ext_links.dpatch - not required
  - remove 02_no_mkdir_in_homedir.dpatch - not required
* Remove dpatch from Build-Depends
* Update debian/rules and debian/libcommons-io-java-doc.install
  with new target dirs
* debian/copyright: add copyright notice

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Licensed to the Apache Software Foundation (ASF) under one or more
 
3
 * contributor license agreements.  See the NOTICE file distributed with
 
4
 * this work for additional information regarding copyright ownership.
 
5
 * The ASF licenses this file to You under the Apache License, Version 2.0
 
6
 * (the "License"); you may not use this file except in compliance with
 
7
 * the License.  You may obtain a copy of the License at
 
8
 * 
 
9
 *      http://www.apache.org/licenses/LICENSE-2.0
 
10
 * 
 
11
 * Unless required by applicable law or agreed to in writing, software
 
12
 * distributed under the License is distributed on an "AS IS" BASIS,
 
13
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
14
 * See the License for the specific language governing permissions and
 
15
 * limitations under the License.
 
16
 */
 
17
package org.apache.commons.io.output;
 
18
 
 
19
import java.io.OutputStream;
 
20
 
 
21
/**
 
22
 * Proxy stream that prevents the underlying output stream from being closed.
 
23
 * <p>
 
24
 * This class is typically used in cases where an output stream needs to be
 
25
 * passed to a component that wants to explicitly close the stream even if
 
26
 * other components would still use the stream for output.
 
27
 *
 
28
 * @version $Id: CloseShieldOutputStream.java 587913 2007-10-24 15:47:30Z niallp $
 
29
 * @since Commons IO 1.4
 
30
 */
 
31
public class CloseShieldOutputStream extends ProxyOutputStream {
 
32
 
 
33
    /**
 
34
     * Creates a proxy that shields the given output stream from being
 
35
     * closed.
 
36
     *
 
37
     * @param out underlying output stream
 
38
     */
 
39
    public CloseShieldOutputStream(OutputStream out) {
 
40
        super(out);
 
41
    }
 
42
 
 
43
    /**
 
44
     * Replaces the underlying output stream with a {@link ClosedOutputStream}
 
45
     * sentinel. The original output stream will remain open, but this proxy
 
46
     * will appear closed.
 
47
     */
 
48
    public void close() {
 
49
        out = new ClosedOutputStream();
 
50
    }
 
51
 
 
52
}