~ubuntu-branches/ubuntu/vivid/commons-io/vivid

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): tony mancill
  • Date: 2013-05-18 10:40:54 UTC
  • mfrom: (1.1.4) (3.1.5 sid)
  • Revision ID: package-import@ubuntu.com-20130518104054-wqbtjam30uyseu9j
Tags: 2.4-2
* Team upload.
* Upload to unstable.

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
 
}