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

      @Deprecated protected static final String find(ByteChunk name)
      Deprecated.
      Unused. Will be removed in Tomcat 11. Use find(ByteChunk, CodingErrorAction, CodingErrorAction)
      Find an entry given its name in the cache and return the associated String.
      Parameters:
      name - The name to find
      Returns:
      the corresponding value
    • 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