1 /* 2 * Copyright (C) 2010 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package libcore.java.io; 18 19 import java.io.ByteArrayOutputStream; 20 import java.io.OutputStream; 21 import java.io.PrintStream; 22 import java.util.Locale; 23 24 /** 25 * A PrintStream that throws away its output. 26 */ 27 public final class NullPrintStream extends PrintStream { 28 public NullPrintStream() { 29 // super class complains if argument is null 30 super((OutputStream) new ByteArrayOutputStream()); 31 } 32 33 @Override 34 public boolean checkError() { 35 return false; 36 } 37 38 @Override 39 protected void clearError() {} 40 41 @Override 42 public void close() {} 43 44 @Override 45 public void flush() {} 46 47 @Override 48 public PrintStream format(String format, Object... args) { 49 return this; 50 } 51 52 @Override 53 public PrintStream format(Locale l, String format, Object... args) { 54 return this; 55 } 56 57 @Override 58 public PrintStream printf(String format, Object... args) { 59 return this; 60 } 61 62 @Override 63 public PrintStream printf(Locale l, String format, Object... args) { 64 return this; 65 } 66 67 @Override 68 public void print(char[] charArray) {} 69 70 @Override 71 public void print(char ch) {} 72 73 @Override 74 public void print(double dnum) {} 75 76 @Override 77 public void print(float fnum) {} 78 79 @Override 80 public void print(int inum) {} 81 82 @Override 83 public void print(long lnum) {} 84 85 @Override 86 public void print(Object obj) {} 87 88 @Override 89 public void print(String str) {} 90 91 @Override 92 public void print(boolean bool) {} 93 94 @Override 95 public void println() {} 96 97 @Override 98 public void println(char[] charArray) {} 99 100 @Override 101 public void println(char ch) {} 102 103 @Override 104 public void println(double dnum) {} 105 106 @Override 107 public void println(float fnum) {} 108 109 @Override 110 public void println(int inum) {} 111 112 @Override 113 public void println(long lnum) {} 114 115 @Override 116 public void println(Object obj) {} 117 118 @Override 119 public void println(String str) {} 120 121 @Override 122 public void println(boolean bool) {} 123 124 @Override 125 protected void setError() {} 126 127 @Override 128 public void write(byte[] buffer, int offset, int length) {} 129 130 @Override 131 public void write(int oneByte) {} 132 133 @Override 134 public PrintStream append(char c) { 135 return this; 136 } 137 138 @Override 139 public PrintStream append(CharSequence csq) { 140 return this; 141 } 142 143 @Override 144 public PrintStream append(CharSequence csq, int start, int end) { 145 return this; 146 } 147 } 148