Package: org.codehaus.groovy.grails.web.pages

## [Java] Class GSPResponseWriter

- org.codehaus.groovy.grails.web.pages.GSPResponseWriter

- All Implemented Interfaces and Traits:
    EncodedAppenderFactory, EncoderAware

      public class GSPResponseWriter
      extends GrailsRoutablePrintWriter

  NOTE: Based on work done by on the GSP standalone project (https://gsp.dev.java.net/) A buffered writer that won't commit the response until the buffer has reached the high water mark, or until flush() or close() is called. Performance optimizations by Lari Hotari, 13.03.2009 Calculating the Content-Length has been disabled by default since Jetty ignores it (uses Chunked mode anyways). Content-Length mode can be enabled with -DGSPResponseWriter.enableContentLength=true system property.

  Authors:
    Troy Heninger
    Graeme Rocher
    Lari Hotari, Sagire Software Oy Date: Jan 10, 2004

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static boolean` | `AUTOFLUSH_ENABLED` |
    `static boolean` | `BUFFERING_ENABLED` |
    `static boolean` | `CONTENT_LENGTH_COUNTING_ENABLED` |
    `protected static org.apache.commons.logging.Log` | `LOG` |

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class GrailsPrintWriterAdapter` | `target`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `void` | `close()` Close the stream.
    `EncodedAppender` | `getEncodedAppender()`
    `Encoder` | `getEncoder()`
    `static GSPResponseWriter` | `getInstance(javax.servlet.ServletResponse response)`
    `boolean` | `isAllowUnwrappingOut()`
    `java.io.Writer` | `unwrap()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class GrailsRoutablePrintWriter` | `activateDestination, append, append, append, blockFlushAndClose, checkError, close, flush, isAllowUnwrappingOut, isBlockClose, isBlockFlush, isDestinationActivated, leftShift, leftShift, leftShift, newInstance, print, print, print, print, print, print, print, print, print, println, println, println, println, println, println, println, println, println, println, setBlockClose, setBlockFlush, setDestinationActivated, unBlockFlushAndClose, unwrap, updateDestination, write, write, write, write, write`
    `class GrailsPrintWriterAdapter` | `append, append, append, append, append, checkError, close, flush, getOut, getTarget, handleIOException, isAllowUnwrappingOut, isTrouble, isUsed, leftShift, leftShift, leftShift, markUsed, newInstance, plus, print, print, print, print, print, print, print, print, print, print, print, println, println, println, println, println, println, println, println, println, println, println, resetUsed, setError, setTarget, setUsed, unwrap, write, write, write, write, write, write, write`
    `class java.io.PrintWriter` | `java.io.PrintWriter#println(double), java.io.PrintWriter#println([C), java.io.PrintWriter#println(float), java.io.PrintWriter#println(java.lang.String), java.io.PrintWriter#println(java.lang.Object), java.io.PrintWriter#println(int), java.io.PrintWriter#println(char), java.io.PrintWriter#println(boolean), java.io.PrintWriter#println(), java.io.PrintWriter#println(long), java.io.PrintWriter#append(java.lang.CharSequence, int, int), java.io.PrintWriter#append(java.lang.CharSequence), java.io.PrintWriter#append(java.lang.CharSequence), java.io.PrintWriter#append(char), java.io.PrintWriter#append(java.lang.CharSequence), java.io.PrintWriter#append(char), java.io.PrintWriter#append(java.lang.CharSequence, int, int), java.io.PrintWriter#append(char), java.io.PrintWriter#append(java.lang.CharSequence, int, int), java.io.PrintWriter#format(java.util.Locale, java.lang.String, [Ljava.lang.Object;), java.io.PrintWriter#format(java.lang.String, [Ljava.lang.Object;), java.io.PrintWriter#write([C, int, int), java.io.PrintWriter#write(java.lang.String, int, int), java.io.PrintWriter#write([C), java.io.PrintWriter#write(int), java.io.PrintWriter#write(java.lang.String), java.io.PrintWriter#print(float), java.io.PrintWriter#print(long), java.io.PrintWriter#print(int), java.io.PrintWriter#print(char), java.io.PrintWriter#print(boolean), java.io.PrintWriter#print(java.lang.Object), java.io.PrintWriter#print(java.lang.String), java.io.PrintWriter#print([C), java.io.PrintWriter#print(double), java.io.PrintWriter#flush(), java.io.PrintWriter#close(), java.io.PrintWriter#checkError(), java.io.PrintWriter#printf(java.util.Locale, java.lang.String, [Ljava.lang.Object;), java.io.PrintWriter#printf(java.lang.String, [Ljava.lang.Object;), java.io.PrintWriter#wait(long, int), java.io.PrintWriter#wait(long), java.io.PrintWriter#wait(), java.io.PrintWriter#equals(java.lang.Object), java.io.PrintWriter#toString(), java.io.PrintWriter#hashCode(), java.io.PrintWriter#getClass(), java.io.PrintWriter#notify(), java.io.PrintWriter#notifyAll()`

- - ### Field Detail

    - #### public static final boolean AUTOFLUSH_ENABLED

    - #### public static final boolean BUFFERING_ENABLED

    - #### public static final boolean CONTENT_LENGTH_COUNTING_ENABLED

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

  - ### Method Detail

    - #### @java.lang.Override public void close()

      Close the stream.

      See Also:
        checkError()

    - #### public EncodedAppender getEncodedAppender()

    - #### public Encoder getEncoder()

    - #### public static GSPResponseWriter getInstance(javax.servlet.ServletResponse response)

    - #### @java.lang.Override public boolean isAllowUnwrappingOut()

    - #### @java.lang.Override public java.io.Writer unwrap()