Class StringCache

java.lang.Object
org.apache.tomcat.util.buf.StringCache

public class StringCache extends Object
This class implements a String cache for ByteChunk and CharChunk.
Author:
Remy Maucherat
  • Field Details

    • byteEnabled

      protected static boolean byteEnabled
      Enabled ?
    • charEnabled

      protected static boolean charEnabled
    • trainThreshold

      protected static int trainThreshold
    • cacheSize

      protected static int cacheSize
    • maxStringSize

      protected static final int maxStringSize
    • bcStats

      protected static final HashMap<org.apache.tomcat.util.buf.StringCache.ByteEntry,int[]> bcStats
      Statistics hash map for byte chunk.
    • bcCount

      protected static int bcCount
      toString count for byte chunk.
    • bcCache

      protected static volatile org.apache.tomcat.util.buf.StringCache.ByteEntry[] bcCache
      Cache for byte chunk.
    • ccStats

      protected static final HashMap<org.apache.tomcat.util.buf.StringCache.CharEntry,int[]> ccStats
      Statistics hash map for char chunk.
    • ccCount

      protected static int ccCount
      toString count for char chunk.
    • ccCache

      protected static volatile org.apache.tomcat.util.buf.StringCache.CharEntry[] ccCache
      Cache for char chunk.
    • accessCount

      protected static int accessCount
      Access count.
    • hitCount

      protected static int hitCount
      Hit count.
  • Constructor Details

    • StringCache

      public StringCache()
  • Method Details

    • getCacheSize

      public int getCacheSize()
      Returns:
      Returns the cacheSize.
    • setCacheSize

      public void setCacheSize(int cacheSize)
      Parameters:
      cacheSize - The cacheSize to set.
    • getByteEnabled

      public boolean getByteEnabled()
      Returns:
      Returns the enabled.
    • setByteEnabled

      public void setByteEnabled(boolean byteEnabled)
      Parameters:
      byteEnabled - The enabled to set.
    • getCharEnabled

      public boolean getCharEnabled()
      Returns:
      Returns the enabled.
    • setCharEnabled

      public void setCharEnabled(boolean charEnabled)
      Parameters:
      charEnabled - The enabled to set.
    • getTrainThreshold

      public int getTrainThreshold()
      Returns:
      Returns the trainThreshold.
    • setTrainThreshold

      public void setTrainThreshold(int trainThreshold)
      Parameters:
      trainThreshold - The trainThreshold to set.
    • getAccessCount

      public int getAccessCount()
      Returns:
      Returns the accessCount.
    • getHitCount

      public int getHitCount()
      Returns:
      Returns the hitCount.
    • reset

      public void reset()
    • toString

      public static String toString(ByteChunk bc)
    • toString

      public static String toString(ByteChunk bc, CodingErrorAction malformedInputAction, CodingErrorAction unmappableCharacterAction) throws CharacterCodingException
      Throws:
      CharacterCodingException
    • toString

      public static String toString(CharChunk cc)
    • compare

      protected static final int compare(ByteChunk name, byte[] compareTo)
      Compare given byte chunk with byte array.
      Parameters:
      name - The name to compare
      compareTo - The compared to data
      Returns:
      -1, 0 or +1 if inferior, equal, or superior to the String.
    • find

      protected static final String find(ByteChunk name, CodingErrorAction malformedInputAction, CodingErrorAction unmappableCharacterAction)
      Find an entry given its name in the cache and return the associated String.
      Parameters:
      name - The name to find
      malformedInputAction - Action to take if an malformed input is encountered
      unmappableCharacterAction - Action to take if an unmappable character is encountered
      Returns:
      the corresponding value
    • findClosest

      protected static final int findClosest(ByteChunk name, org.apache.tomcat.util.buf.StringCache.ByteEntry[] array, int len)
      Find an entry given its name in a sorted array of map elements. This will return the index for the closest inferior or equal item in the given array.
      Parameters:
      name - The name to find
      array - The array in which to look
      len - The effective length of the array
      Returns:
      the position of the best match
    • compare

      protected static final int compare(CharChunk name, char[] compareTo)
      Compare given char chunk with char array.
      Parameters:
      name - The name to compare
      compareTo - The compared to data
      Returns:
      -1, 0 or +1 if inferior, equal, or superior to the String.
    • find

      protected static final String find(CharChunk name)
      Find an entry given its name in the cache and return the associated String.
      Parameters:
      name - The name to find
      Returns:
      the corresponding value
    • findClosest

      protected static final int findClosest(CharChunk name, org.apache.tomcat.util.buf.StringCache.CharEntry[] array, int len)
      Find an entry given its name in a sorted array of map elements. This will return the index for the closest inferior or equal item in the given array.
      Parameters:
      name - The name to find
      array - The array in which to look
      len - The effective length of the array
      Returns:
      the position of the best match