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
    Modifier and Type | Field and Description
    --- | ---
    `protected SymbolTable` | `fSymbolTable` Main symbol table.

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

      `fBuckets, fCollisionThreshold, fCount, fHashMultipliers, fLoadFactor, fTableSize, fThreshold, MAX_HASH_COLLISIONS, MULTIPLIERS_MASK, MULTIPLIERS_SIZE, TABLE_SIZE`

  - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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, rebalance, 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.

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.