Class StringCache


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

      • 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 Detail

      • StringCache

        public StringCache()
    • Method Detail

      • 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()
      • 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