org.apache.xerces.util

## Class SynchronizedSymbolTable

- java.lang.Object
- - org.apache.xerces.util.SymbolTable
  - - org.apache.xerces.util.SynchronizedSymbolTable

    public final class SynchronizedSymbolTable
    extends SymbolTable

Synchronized symbol table. This class moved into the util package since it's needed by multiple other classes (CachingParserPool, XMLGrammarCachingConfiguration).

Version:
  $Id: SynchronizedSymbolTable.java 447241 2006-09-18 05:12:57Z mrglavas $
Author:
  Andy Clark, IBM

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.xerces.util.SymbolTable

`SymbolTable.Entry`

### Field Summary

Fields
`protected SymbolTable` `fSymbolTable` Main symbol table.

### Fields inherited from class org.apache.xerces.util.SymbolTable

`fBuckets, fCount, fLoadFactor, fTableSize, fThreshold, TABLE_SIZE`

### Constructor Summary

Constructors
Constructor and Description
`SynchronizedSymbolTable()`
`SynchronizedSymbolTable(int size)`
`SynchronizedSymbolTable(SymbolTable symbolTable)` Constructs a synchronized symbol table.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `addSymbol(char[] buffer, int offset, int length)` Adds the specified symbol to the symbol table and returns a reference to the unique symbol.
`java.lang.String` `addSymbol(java.lang.String symbol)` Adds the specified symbol to the symbol table and returns a reference to the unique symbol.
`boolean` `containsSymbol(char[] buffer, int offset, int length)` Returns true if the symbol table already contains the specified symbol.
`boolean` `containsSymbol(java.lang.String symbol)` Returns true if the symbol table already contains the specified symbol.

### Methods inherited from class org.apache.xerces.util.SymbolTable

`hash, hash, rehash`

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

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

### Field Detail

#### fSymbolTable

    protected SymbolTable fSymbolTable

Main symbol table.

### Constructor Detail

#### SynchronizedSymbolTable

    public SynchronizedSymbolTable(SymbolTable symbolTable)

Constructs a synchronized symbol table.

#### SynchronizedSymbolTable

    public SynchronizedSymbolTable()

#### SynchronizedSymbolTable

    public SynchronizedSymbolTable(int size)

### Method Detail

#### addSymbol

    public java.lang.String addSymbol(java.lang.String symbol)

Adds the specified symbol to the symbol table and returns a reference to the unique symbol. If the symbol already exists, the previous symbol reference is returned instead, in order guarantee that symbol references remain unique.

Overrides:
  `addSymbol` in class `SymbolTable`
Parameters:
  `symbol` - The new symbol.

#### addSymbol

    public java.lang.String addSymbol(char[] buffer,
                                      int offset,
                                      int length)

Adds the specified symbol to the symbol table and returns a reference to the unique symbol. If the symbol already exists, the previous symbol reference is returned instead, in order guarantee that symbol references remain unique.

Overrides:
  `addSymbol` in class `SymbolTable`
Parameters:
  `buffer` - The buffer containing the new symbol.
  `offset` - The offset into the buffer of the new symbol.
  `length` - The length of the new symbol in the buffer.

#### containsSymbol

    public boolean containsSymbol(java.lang.String symbol)

Returns true if the symbol table already contains the specified symbol.

Overrides:
  `containsSymbol` in class `SymbolTable`
Parameters:
  `symbol` - The symbol to look for.

#### containsSymbol

    public boolean containsSymbol(char[] buffer,
                                  int offset,
                                  int length)

Returns true if the symbol table already contains the specified symbol.

Overrides:
  `containsSymbol` in class `SymbolTable`
Parameters:
  `buffer` - The buffer containing the symbol to look for.
  `offset` - The offset into the buffer.
  `length` - The length of the symbol in the buffer.