package railo.runtime.writer;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* JSP Writer that Remove WhiteSpace from given content
*/
public abstract class AbstrCFMLWriterWS extends CFMLWriterImpl implements WhiteSpaceWriter {
public static final char CHAR_EMPTY=0;
public static final char CHAR_NL='\n';
public static final char CHAR_SPACE=' ';
public static final char CHAR_TAB='\t';
public static final char CHAR_BS='\b'; // \x0B\
public static final char CHAR_FW='\f';
public static final char CHAR_RETURN='\r';
char charBuffer=CHAR_EMPTY;
/**
* constructor of the class
* @param rsp
* @param bufferSize
* @param autoFlush
*/
public AbstrCFMLWriterWS(HttpServletRequest req, HttpServletResponse rsp, int bufferSize, boolean autoFlush, boolean closeConn,
boolean showVersion, boolean contentLength, boolean allowCompression) {
super(req,rsp, bufferSize, autoFlush,closeConn,showVersion,contentLength,allowCompression);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#clear()
*/
public final void clear() throws IOException {
printBuffer();
super.clear();
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#clearBuffer()
*/
public final void clearBuffer() {
printBufferEL();
super.clearBuffer();
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#close()
*/
public final void close() throws IOException {
printBuffer();
super.close();
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#flush()
*/
public final void flush() throws IOException {
printBuffer();
super.flush();
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#getRemaining()
*/
public final int getRemaining() {
printBufferEL();
return super.getRemaining();
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#newLine()
*/
public final void newLine() throws IOException {
print(CHAR_NL);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#print(boolean)
*/
public final void print(boolean b) throws IOException {
printBuffer();
super.print(b);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#print(char[])
*/
public final void print(char[] chars) throws IOException {
write(chars,0,chars.length);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#print(double)
*/
public final void print(double d) throws IOException {
printBuffer();
super.print(d);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#print(float)
*/
public final void print(float f) throws IOException {
printBuffer();
super.print(f);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#print(int)
*/
public final void print(int i) throws IOException {
printBuffer();
super.print(i);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#print(long)
*/
public final void print(long l) throws IOException {
printBuffer();
super.print(l);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#print(java.lang.Object)
*/
public final void print(Object obj) throws IOException {
print(obj.toString());
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#print(java.lang.String)
*/
public final void print(String str) throws IOException {
write(str.toCharArray(),0,str.length());
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#println()
*/
public final void println() throws IOException {
print(CHAR_NL);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#println(boolean)
*/
public final void println(boolean b) throws IOException {
printBuffer();
super.print(b);
print(CHAR_NL);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#println(char)
*/
public final void println(char c) throws IOException {
print(c);
print(CHAR_NL);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#println(char[])
*/
public final void println(char[] chars) throws IOException {
write(chars,0,chars.length);
print(CHAR_NL);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#println(double)
*/
public final void println(double d) throws IOException {
printBuffer();
super.print(d);
print(CHAR_NL);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#println(float)
*/
public final void println(float f) throws IOException {
printBuffer();
super.print(f);
print(CHAR_NL);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#println(int)
*/
public final void println(int i) throws IOException {
printBuffer();
super.print(i);
print(CHAR_NL);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#println(long)
*/
public final void println(long l) throws IOException {
printBuffer();
super.print(l);
print(CHAR_NL);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#println(java.lang.Object)
*/
public final void println(Object obj) throws IOException {
println(obj.toString());
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#println(java.lang.String)
*/
public final void println(String str) throws IOException {
print(str);
print(CHAR_NL);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#write(char[], int, int)
*/
public final void write(char[] chars, int off, int len) throws IOException {
for(int i=off;i<len;i++) {
print(chars[i]);
}
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#write(java.lang.String, int, int)
*/
public final void write(String str, int off, int len) throws IOException {
write(str.toCharArray(),off,len);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#write(char[])
*/
public final void write(char[] chars) throws IOException {
write(chars,0,chars.length);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#write(int)
*/
public final void write(int i) throws IOException {
print(i);
}
/**
* @see railo.runtime.writer.CFMLWriterImpl#write(java.lang.String)
*/
public final void write(String str) throws IOException {
write(str.toCharArray(),0,str.length());
}
abstract void printBuffer() throws IOException;
abstract void printBufferEL();
}