org.codehaus.groovy.grails.web.util
Class GrailsPrintWriter

java.lang.Object
  extended by java.io.Writer
      extended by org.codehaus.groovy.grails.web.util.GrailsPrintWriter
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable, GrailsWrappedWriter
Direct Known Subclasses:
CodecPrintWriter, FastStringWriter

public class GrailsPrintWriter
extends java.io.Writer
implements GrailsWrappedWriter

PrintWriter implementation that doesn't have synchronization. null object references are ignored in print methods (nothing gets printed)


Field Summary
protected  boolean allowUnwrappingOut
           
protected static char[] CRLF
           
protected static org.apache.commons.logging.Log LOG
           
protected  java.io.Writer out
           
protected  java.io.Writer previousOut
           
protected  java.io.Writer streamCharBufferTarget
           
protected  boolean trouble
           
protected  boolean usageFlag
           
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
GrailsPrintWriter(java.io.Writer out)
           
 
Method Summary
 GrailsPrintWriter append(char c)
           
 GrailsPrintWriter append(java.lang.CharSequence csq)
           
 GrailsPrintWriter append(java.lang.CharSequence csq, int start, int end)
           
 GrailsPrintWriter append(java.lang.Object obj)
           
 void append(StreamCharBuffer otherBuffer)
           
 java.io.PrintWriter asPrintWriter()
           
 java.lang.Object asType(java.lang.Class<?> clazz)
           
 boolean checkError()
          Flush the stream if it's not closed and check its error state.
protected  java.lang.Object clone()
           
 void close()
           
protected  java.io.Writer findStreamCharBufferTarget(boolean markUsed)
           
 void flush()
          Flush the stream.
 java.io.Writer getOut()
           
 boolean isAllowUnwrappingOut()
           
 boolean isUsed()
           
 GrailsPrintWriter leftShift(org.codehaus.groovy.runtime.GStringImpl gstring)
           
 GrailsPrintWriter leftShift(java.lang.Object value)
          Provides Groovy << left shift operator, but intercepts call to make sure nulls are converted to "" strings
 GrailsPrintWriter leftShift(StreamCharBuffer otherBuffer)
           
 GrailsPrintWriter leftShift(groovy.lang.Writable writable)
           
 void markUsed()
           
 GrailsPrintWriter plus(java.lang.Object value)
           
 void print(boolean b)
          delegate methods, not synchronized
 void print(char c)
           
 void print(char[] s)
           
 void print(double d)
           
 void print(float f)
           
 void print(org.codehaus.groovy.runtime.GStringImpl gstring)
           
 void print(int i)
           
 void print(long l)
           
 void print(java.lang.Object obj)
          Print an object.
 void print(StreamCharBuffer otherBuffer)
           
 void print(java.lang.String s)
          Print a string.
 void print(groovy.lang.Writable writable)
           
 void println()
           
 void println(boolean b)
           
 void println(char c)
           
 void println(char[] c)
           
 void println(double d)
           
 void println(float f)
           
 void println(int i)
           
 void println(long l)
           
 void println(java.lang.Object o)
           
 void println(StreamCharBuffer otherBuffer)
           
 void println(java.lang.String s)
           
 boolean resetUsed()
           
 void setError()
           
 void setOut(java.io.Writer newOut)
           
 void setUsed(boolean newUsed)
           
 java.io.Writer unwrap()
           
protected  java.io.Writer unwrapWriter(java.io.Writer writer)
           
 void write(char[] buf)
           
 void write(char[] buf, int off, int len)
          Write a portion of an array of characters.
 void write(int c)
          Write a single character.
 void write(StreamCharBuffer otherBuffer)
           
 void write(java.lang.String s)
          Writes a string.
 void write(java.lang.String s, int off, int len)
          Write a portion of a string.
 void write(groovy.lang.Writable writable)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

protected static final org.apache.commons.logging.Log LOG

CRLF

protected static final char[] CRLF

trouble

protected boolean trouble

out

protected java.io.Writer out

allowUnwrappingOut

protected boolean allowUnwrappingOut

usageFlag

protected boolean usageFlag

streamCharBufferTarget

protected java.io.Writer streamCharBufferTarget

previousOut

protected java.io.Writer previousOut
Constructor Detail

GrailsPrintWriter

public GrailsPrintWriter(java.io.Writer out)
Method Detail

isAllowUnwrappingOut

public boolean isAllowUnwrappingOut()
Specified by:
isAllowUnwrappingOut in interface GrailsWrappedWriter

unwrap

public java.io.Writer unwrap()
Specified by:
unwrap in interface GrailsWrappedWriter

getOut

public java.io.Writer getOut()

setOut

public void setOut(java.io.Writer newOut)

unwrapWriter

protected java.io.Writer unwrapWriter(java.io.Writer writer)

leftShift

public GrailsPrintWriter leftShift(java.lang.Object value)
                            throws java.io.IOException
Provides Groovy << left shift operator, but intercepts call to make sure nulls are converted to "" strings

Parameters:
value - The value
Returns:
Returns this object
Throws:
java.io.IOException

plus

public GrailsPrintWriter plus(java.lang.Object value)
                       throws java.io.IOException
Throws:
java.io.IOException

checkError

public boolean checkError()
Flush the stream if it's not closed and check its error state. Errors are cumulative; once the stream encounters an error, this routine will return true on all successive calls.

Returns:
True if the print stream has encountered an error, either on the underlying output stream or during a format conversion.

setError

public void setError()

flush

public void flush()
Flush the stream.

Specified by:
flush in interface java.io.Flushable
Specified by:
flush in class java.io.Writer
See Also:
checkError()

print

public void print(java.lang.Object obj)
Print an object. The string produced by the String.valueOf(Object) method is translated into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the write(int) method.

Parameters:
obj - The Object to be printed
See Also:
Object.toString()

print

public void print(java.lang.String s)
Print a string. If the argument is null then the string "" is printed. Otherwise, the string's characters are converted into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the write(int) method.

Parameters:
s - The String to be printed

write

public void write(java.lang.String s)
Writes a string. If the argument is null then the string "" is printed.

Overrides:
write in class java.io.Writer
Parameters:
s - The String to be printed

write

public void write(int c)
Write a single character.

Overrides:
write in class java.io.Writer
Parameters:
c - int specifying a character to be written.

write

public void write(char[] buf,
                  int off,
                  int len)
Write a portion of an array of characters.

Specified by:
write in class java.io.Writer
Parameters:
buf - Array of characters
off - Offset from which to start writing characters
len - Number of characters to write

write

public void write(java.lang.String s,
                  int off,
                  int len)
Write a portion of a string.

Overrides:
write in class java.io.Writer
Parameters:
s - A String
off - Offset from which to start writing characters
len - Number of characters to write

write

public void write(char[] buf)
Overrides:
write in class java.io.Writer

print

public void print(boolean b)
delegate methods, not synchronized


print

public void print(char c)

print

public void print(int i)

print

public void print(long l)

print

public void print(float f)

print

public void print(double d)

print

public void print(char[] s)

println

public void println()

println

public void println(boolean b)

println

public void println(char c)

println

public void println(int i)

println

public void println(long l)

println

public void println(float f)

println

public void println(double d)

println

public void println(char[] c)

println

public void println(java.lang.String s)

println

public void println(java.lang.Object o)

append

public GrailsPrintWriter append(char c)
Specified by:
append in interface java.lang.Appendable
Overrides:
append in class java.io.Writer

append

public GrailsPrintWriter append(java.lang.CharSequence csq,
                                int start,
                                int end)
Specified by:
append in interface java.lang.Appendable
Overrides:
append in class java.io.Writer

append

public GrailsPrintWriter append(java.lang.CharSequence csq)
Specified by:
append in interface java.lang.Appendable
Overrides:
append in class java.io.Writer

append

public GrailsPrintWriter append(java.lang.Object obj)

clone

protected java.lang.Object clone()
                          throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

write

public void write(StreamCharBuffer otherBuffer)

findStreamCharBufferTarget

protected java.io.Writer findStreamCharBufferTarget(boolean markUsed)

print

public void print(StreamCharBuffer otherBuffer)

append

public void append(StreamCharBuffer otherBuffer)

println

public void println(StreamCharBuffer otherBuffer)

leftShift

public GrailsPrintWriter leftShift(StreamCharBuffer otherBuffer)

write

public void write(groovy.lang.Writable writable)

print

public void print(groovy.lang.Writable writable)

leftShift

public GrailsPrintWriter leftShift(groovy.lang.Writable writable)

print

public void print(org.codehaus.groovy.runtime.GStringImpl gstring)

leftShift

public GrailsPrintWriter leftShift(org.codehaus.groovy.runtime.GStringImpl gstring)

isUsed

public boolean isUsed()

setUsed

public void setUsed(boolean newUsed)

resetUsed

public boolean resetUsed()

close

public void close()
Specified by:
close in interface java.io.Closeable
Specified by:
close in class java.io.Writer

markUsed

public void markUsed()
Specified by:
markUsed in interface GrailsWrappedWriter

asType

public java.lang.Object asType(java.lang.Class<?> clazz)

asPrintWriter

public java.io.PrintWriter asPrintWriter()