Groovy Documentation

## org.codehaus.groovy.grails.web.util
[Java] Class StringCharArrayAccessor

    java.lang.Object
      org.codehaus.groovy.grails.web.util.StringCharArrayAccessor

    public class StringCharArrayAccessor

Provides optimized access to java.lang.String internals - Optimized way of creating java.lang.String by reusing a char[] buffer - Optimized way of writing String to java.io.Writer java.lang.String creation reusing a char[] buffer requires Java 1.5+ System property "stringchararrayaccessor.disabled" disables this hack. -Dstringchararrayaccessor.disabled=true Read JSR-133, "9.1.1 Post-Construction Modification of Final Fields" http://www.cs.umd.edu/~pugh/java/memoryModel/jsr133.pdf

Authors:
  Lari Hotari, Sagire Software Oy

Method Summary
`static java.lang.String` | `createString(char[] charBuf)` creates a new java.lang.String by setting the char array directly to the String instance with reflection.
`static boolean` | `isEnabled()`
`static void` | `writeStringAsCharArray(java.io.Writer writer, java.lang.String str)` Writes a portion of a string to a target java.io.Writer with direct access to the char[] of the java.lang.String
`static void` | `writeStringAsCharArray(java.io.Writer writer, java.lang.String str, int off, int len)` Writes a portion of a string to a target java.io.Writer with direct access to the char[] of the java.lang.String

Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Method Detail

### createString

    public static java.lang.String createString(char[] charBuf)

  creates a new java.lang.String by setting the char array directly to the String instance with reflection.
  Parameters:
    `charBuf` - char array to be used as java.lang.String content, don't modify it after passing it.
  Returns:
    new java.lang.String

### isEnabled

    public static boolean isEnabled()

### writeStringAsCharArray

    public static void writeStringAsCharArray(java.io.Writer writer, java.lang.String str)

  Writes a portion of a string to a target java.io.Writer with direct access to the char[] of the java.lang.String
  throws:
    IOException If an I/O error occurs
  Parameters:
    `writer` - target java.io.Writer for output
    `str` - A String

### writeStringAsCharArray

    public static void writeStringAsCharArray(java.io.Writer writer, java.lang.String str, int off, int len)

  Writes a portion of a string to a target java.io.Writer with direct access to the char[] of the java.lang.String
  throws:
    IOException If an I/O error occurs
  Parameters:
    `writer` - target java.io.Writer for output
    `str` - A String
    `off` - Offset from which to start writing characters
    `len` - Number of characters to write

Groovy Documentation