001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.runtime.writer;
020
021import java.io.IOException;
022import java.io.Reader;
023import java.io.StringReader;
024import java.io.Writer;
025
026import javax.servlet.jsp.JspWriter;
027import javax.servlet.jsp.tagext.BodyContent;
028
029
030/**
031 * BodyContent implementation that dont store input
032 */
033public final class DevNullBodyContent extends BodyContent {
034        
035        private JspWriter enclosingWriter;
036        
037        /**
038         * default constructor
039         */
040        public DevNullBodyContent() {
041                super(null);
042        }
043        
044        /**
045         * @see javax.servlet.jsp.tagext.BodyContent#getReader()
046         */
047        public Reader getReader() {
048                return new StringReader("");
049        }
050        
051        /**
052         * @see javax.servlet.jsp.tagext.BodyContent#getString()
053         */
054        public String getString() {
055                return "";
056        }
057        
058        /**
059         * 
060         * @see javax.servlet.jsp.tagext.BodyContent#writeOut(java.io.Writer)
061         */
062        public void writeOut(Writer writer) {
063                
064        }
065        
066        /**
067         * @see javax.servlet.jsp.JspWriter#newLine()
068         */
069        public void newLine() {
070                
071        }
072        
073        /**
074         * @see javax.servlet.jsp.JspWriter#print(boolean)
075         */
076        public void print(boolean b) {
077        }
078        
079        /**
080         * @see javax.servlet.jsp.JspWriter#print(char)
081         */
082        public void print(char c) {
083        }
084        
085        /**
086         * @see javax.servlet.jsp.JspWriter#print(int)
087         */
088        public void print(int i) {
089        }
090        
091        /**
092         * @see javax.servlet.jsp.JspWriter#print(long)
093         */
094        public void print(long l) {
095        }
096        
097        /**
098         * @see javax.servlet.jsp.JspWriter#print(float)
099         */
100        public void print(float f) {
101        }
102        
103        /**
104         * @see javax.servlet.jsp.JspWriter#print(double)
105         */
106        public void print(double d) {
107        }
108        
109        /**
110         * @see javax.servlet.jsp.JspWriter#print(char[])
111         */
112        public void print(char[] c) {
113        }
114        
115        /**
116         * @see javax.servlet.jsp.JspWriter#print(java.lang.String)
117         */
118        public void print(String str) {
119        }
120        
121        /**
122         * @see javax.servlet.jsp.JspWriter#print(java.lang.Object)
123         */
124        public void print(Object o) {
125        }
126        
127        /**
128         * @see javax.servlet.jsp.JspWriter#println()
129         */
130        public void println() {
131        }
132        
133        /**
134         * @see javax.servlet.jsp.JspWriter#println(boolean)
135         */
136        public void println(boolean b) {
137        }
138        
139        /**
140         * @see javax.servlet.jsp.JspWriter#println(char)
141         */
142        public void println(char c) {
143        }
144        
145        /**
146         * @see javax.servlet.jsp.JspWriter#println(int)
147         */
148        public void println(int i) {
149        }
150        
151        /**
152         * @see javax.servlet.jsp.JspWriter#println(long)
153         */
154        public void println(long l) {
155        }
156        
157        /**
158         * @see javax.servlet.jsp.JspWriter#println(float)
159         */
160        public void println(float f) {
161        }
162        
163        /**
164         * @see javax.servlet.jsp.JspWriter#println(double)
165         */
166        public void println(double d) {
167        }
168        
169        /**
170         * @see javax.servlet.jsp.JspWriter#println(char[])
171         */
172        public void println(char[] c) {
173        }
174        
175        /**
176         * @see javax.servlet.jsp.JspWriter#println(java.lang.String)
177         */
178        public void println(String str) {
179        }
180        
181        /**
182         * @see javax.servlet.jsp.JspWriter#println(java.lang.Object)
183         */
184        public void println(Object o) {
185        }
186        
187        /**
188         * @see javax.servlet.jsp.JspWriter#clear()
189         */
190        public void clear() {
191        }
192        
193        /**
194         * @see javax.servlet.jsp.JspWriter#clearBuffer()
195         */
196        public void clearBuffer() {
197        }
198        
199        /**
200         * @see java.io.Writer#close()
201         */
202        public void close() throws IOException {
203                enclosingWriter.close();
204        }
205        /**
206         * @see javax.servlet.jsp.JspWriter#getRemaining()
207         */
208        public int getRemaining() {
209                return 0;
210        }
211        
212        /**
213         * @see java.io.Writer#write(char[], int, int)
214         */
215        public void write(char[] cbuf, int off, int len) {
216        }
217        
218        /**
219         * @see javax.servlet.jsp.tagext.BodyContent#clearBody()
220         */
221        public void clearBody() {
222                
223        }
224        /**
225         * @see java.io.Writer#flush()
226         */
227        public void flush() throws IOException {
228                enclosingWriter.flush();
229        }
230        
231        /**
232         * @see javax.servlet.jsp.tagext.BodyContent#getEnclosingWriter()
233         */
234        public JspWriter getEnclosingWriter() {
235                return enclosingWriter;
236        }
237        
238        /**
239         * @see javax.servlet.jsp.JspWriter#getBufferSize()
240         */
241        public int getBufferSize() {
242                return 0;
243        }
244        /**
245         * @see javax.servlet.jsp.JspWriter#isAutoFlush()
246         */
247        public boolean isAutoFlush() {
248                return false;
249        }
250}