org.apache.tomcat.util.buf

## 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 Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static int` | `accessCount` Access count.
    `protected static org.apache.tomcat.util.buf.StringCache.ByteEntry[]` | `bcCache` Cache for byte chunk.
    `protected static int` | `bcCount` toString count for byte chunk.
    `protected static HashMap<org.apache.tomcat.util.buf.StringCache.ByteEntry,int[]>` | `bcStats` Statistics hash map for byte chunk.
    `protected static boolean` | `byteEnabled` Enabled ?
    `protected static int` | `cacheSize`
    `protected static org.apache.tomcat.util.buf.StringCache.CharEntry[]` | `ccCache` Cache for char chunk.
    `protected static int` | `ccCount` toString count for char chunk.
    `protected static HashMap<org.apache.tomcat.util.buf.StringCache.CharEntry,int[]>` | `ccStats` Statistics hash map for char chunk.
    `protected static boolean` | `charEnabled`
    `protected static int` | `hitCount` Hit count.
    `protected static int` | `maxStringSize`
    `protected static int` | `trainThreshold`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StringCache()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static int` | `compare(ByteChunk name, byte[] compareTo)` Compare given byte chunk with byte array.
    `protected static int` | `compare(CharChunk name, char[] compareTo)` Compare given char chunk with char array.
    `protected static String` | `find(ByteChunk name)` Find an entry given its name in the cache and return the associated String.
    `protected static String` | `find(CharChunk name)` Find an entry given its name in the cache and return the associated String.
    `protected static 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.
    `protected static 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.
    `int` | `getAccessCount()`
    `boolean` | `getByteEnabled()`
    `int` | `getCacheSize()`
    `boolean` | `getCharEnabled()`
    `int` | `getHitCount()`
    `int` | `getTrainThreshold()`
    `void` | `reset()`
    `void` | `setByteEnabled(boolean byteEnabled)`
    `void` | `setCacheSize(int cacheSize)`
    `void` | `setCharEnabled(boolean charEnabled)`
    `void` | `setTrainThreshold(int trainThreshold)`
    `static String` | `toString(ByteChunk bc)`
    `static String` | `toString(CharChunk cc)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

    - #### toString

          public static String toString(ByteChunk bc)

    - #### 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)

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

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.