org.apache.xml.utils
Class StringToIntTable

java.lang.Object
  extended byorg.apache.xml.utils.StringToIntTable

public class StringToIntTable
extends Object

A very simple lookup table that stores a list of strings, the even number strings being keys, and the odd number strings being values.


Field Summary
static int INVALID_KEY
           
private  int m_blocksize
          Block size to allocate
private  int m_firstFree
          Number of ints in the table
private  String[] m_map
          Array of strings this table points to.
private  int m_mapSize
          Size of this table
private  int[] m_values
          Array of ints this table points.
 
Constructor Summary
StringToIntTable()
          Default constructor.
StringToIntTable(int blocksize)
          Construct a StringToIntTable, using the given block size.
 
Method Summary
 boolean contains(String key)
          Tell if the table contains the given string.
 int get(String key)
          Tell if the table contains the given string.
 int getIgnoreCase(String key)
          Tell if the table contains the given string.
 int getLength()
          Get the length of the list.
 String[] keys()
          Return array of keys in the table.
 void put(String key, int value)
          Append a string onto the vector.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INVALID_KEY

public static final int INVALID_KEY
See Also:
Constant Field Values

m_blocksize

private int m_blocksize
Block size to allocate


m_map

private String[] m_map
Array of strings this table points to. Associated with ints in m_values


m_values

private int[] m_values
Array of ints this table points. Associated with strings from m_map.


m_firstFree

private int m_firstFree
Number of ints in the table


m_mapSize

private int m_mapSize
Size of this table

Constructor Detail

StringToIntTable

public StringToIntTable()
Default constructor. Note that the default block size is very small, for small lists.


StringToIntTable

public StringToIntTable(int blocksize)
Construct a StringToIntTable, using the given block size.

Parameters:
blocksize - Size of block to allocate
Method Detail

getLength

public final int getLength()
Get the length of the list.

Returns:
the length of the list

put

public final void put(String key,
                      int value)
Append a string onto the vector.

Parameters:
key - String to append
value - The int value of the string

get

public final int get(String key)
Tell if the table contains the given string.

Parameters:
key - String to look for
Returns:
The String's int value

getIgnoreCase

public final int getIgnoreCase(String key)
Tell if the table contains the given string. Ignore case.

Parameters:
key - String to look for
Returns:
The string's int value

contains

public final boolean contains(String key)
Tell if the table contains the given string.

Parameters:
key - String to look for
Returns:
True if the string is in the table

keys

public final String[] keys()
Return array of keys in the table.

Returns:
Array of strings