NullWriter.java revision 8978aac1977408b05e386ae846c30920c7faa0a6
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 */
17package org.apache.commons.io.output;
18
19import java.io.Writer;
20
21/**
22 * This {@link Writer} writes all data to the famous <b>/dev/null</b>.
23 * <p>
24 * This <code>Writer</code> has no destination (file/socket etc.) and all
25 * characters written to it are ignored and lost.
26 *
27 * @version $Id: NullWriter.java 610010 2008-01-08 14:50:59Z niallp $
28 */
29public class NullWriter extends Writer {
30
31    /**
32     * A singleton.
33     */
34    public static final NullWriter NULL_WRITER = new NullWriter();
35
36    /**
37     * Constructs a new NullWriter.
38     */
39    public NullWriter() {
40    }
41
42    /**
43     * Does nothing - output to <code>/dev/null</code>.
44     * @param idx The character to write
45     */
46    public void write(int idx) {
47        //to /dev/null
48    }
49
50    /**
51     * Does nothing - output to <code>/dev/null</code>.
52     * @param chr The characters to write
53     */
54    public void write(char[] chr) {
55        //to /dev/null
56    }
57
58    /**
59     * Does nothing - output to <code>/dev/null</code>.
60     * @param chr The characters to write
61     * @param st The start offset
62     * @param end The number of characters to write
63     */
64    public void write(char[] chr, int st, int end) {
65        //to /dev/null
66    }
67
68    /**
69     * Does nothing - output to <code>/dev/null</code>.
70     * @param str The string to write
71     */
72    public void write(String str) {
73        //to /dev/null
74    }
75
76    /**
77     * Does nothing - output to <code>/dev/null</code>.
78     * @param str The string to write
79     * @param st The start offset
80     * @param end The number of characters to write
81     */
82    public void write(String str, int st, int end) {
83        //to /dev/null
84    }
85
86    /** @see java.io.Writer#flush() */
87    public void flush() {
88        //to /dev/null
89    }
90
91    /** @see java.io.Writer#close() */
92    public void close() {
93        //to /dev/null
94    }
95
96}
97