Class StringCharArrayAccessor

java.lang.Object
org.apache.myfaces.util.lang.StringCharArrayAccessor

public class StringCharArrayAccessor extends Object
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 "oam.stringchararrayaccessor.enabled" enables this hack. -Doam.stringchararrayaccessor.enabled=true Read JSR-133, "9.1.1 Post-Construction Modification of Final Fields" http://www.cs.umd.edu/~pugh/java/memoryModel/jsr133.pdf
Author:
Lari Hotari, Sagire Software Oy see org.codehaus.groovy.grails.web.util.StreamCharBuffer file licensed under ASL v2.0 Copyright 2009 the original author or authors.
  • Method Details

    • writeStringAsCharArray

      public static void writeStringAsCharArray(Writer writer, String str) throws IOException
      Writes a portion of a string to a target java.io.Writer with direct access to the char[] of the java.lang.String
      Parameters:
      writer - target java.io.Writer for output
      str - A String
      Throws:
      IOException - If an I/O error occurs
    • writeStringAsCharArray

      public static void writeStringAsCharArray(Writer writer, String str, int off, int len) throws IOException
      Writes a portion of a string to a target java.io.Writer with direct access to the char[] of the java.lang.String
      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
      Throws:
      IOException - If an I/O error occurs
    • createString

      public static 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()