001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.commons.io.output;
018
019 import java.io.Writer;
020
021 /**
022 * This {@link Writer} writes all data to the famous <b>/dev/null</b>.
023 * <p>
024 * This <code>Writer</code> has no destination (file/socket etc.) and all
025 * characters written to it are ignored and lost.
026 *
027 * @version $Id: NullWriter.java 610010 2008-01-08 14:50:59Z niallp $
028 */
029 public class NullWriter extends Writer {
030
031 /**
032 * A singleton.
033 */
034 public static final NullWriter NULL_WRITER = new NullWriter();
035
036 /**
037 * Constructs a new NullWriter.
038 */
039 public NullWriter() {
040 }
041
042 /**
043 * Does nothing - output to <code>/dev/null</code>.
044 * @param idx The character to write
045 */
046 public void write(int idx) {
047 //to /dev/null
048 }
049
050 /**
051 * Does nothing - output to <code>/dev/null</code>.
052 * @param chr The characters to write
053 */
054 public void write(char[] chr) {
055 //to /dev/null
056 }
057
058 /**
059 * Does nothing - output to <code>/dev/null</code>.
060 * @param chr The characters to write
061 * @param st The start offset
062 * @param end The number of characters to write
063 */
064 public void write(char[] chr, int st, int end) {
065 //to /dev/null
066 }
067
068 /**
069 * Does nothing - output to <code>/dev/null</code>.
070 * @param str The string to write
071 */
072 public void write(String str) {
073 //to /dev/null
074 }
075
076 /**
077 * Does nothing - output to <code>/dev/null</code>.
078 * @param str The string to write
079 * @param st The start offset
080 * @param end The number of characters to write
081 */
082 public void write(String str, int st, int end) {
083 //to /dev/null
084 }
085
086 /** @see java.io.Writer#flush() */
087 public void flush() {
088 //to /dev/null
089 }
090
091 /** @see java.io.Writer#close() */
092 public void close() {
093 //to /dev/null
094 }
095
096 }