## org.apache.axis.utils
Class LockableHashtable

    java.lang.Object
      |
      +--java.util.Dictionary
            |
            +--java.util.Hashtable
                  |
                  +--org.apache.axis.utils.LockableHashtable

All Implemented Interfaces:
  java.lang.Cloneable, java.util.Map, java.io.Serializable

public class LockableHashtable
extends java.util.Hashtable

This subclass of the java Hashtable allows individual entries to be "locked" so that their values cannot be overwritten or removed. Note, only the put() and remove() methods have been overridden. The clear() method still removes all entries whether they've been locked or not.

Author:
  James Snell (jasnell@us.ibm.com)
See Also:
  Serialized Form

Constructor Summary
`LockableHashtable()`
`LockableHashtable(int p1)`
`LockableHashtable(int p1, float p2)`
`LockableHashtable(java.util.Map p1)`

Method Summary
`java.lang.Object` `get(java.lang.Object key)` Get an entry from this hashtable, and if we don't find anything, defer to our parent, if any.
`boolean` `isKeyLocked(java.lang.Object key)` Returns true if a given key is in our locked list
`java.lang.Object` `put(java.lang.Object p1, java.lang.Object p2)` Overrides the Hashtable.put() method to mark items as not being locked.
`java.lang.Object` `put(java.lang.Object p1, java.lang.Object p2, boolean locked)` New version of the put() method that allows for explicitly marking items added to the hashtable as locked.
`java.lang.Object` `remove(java.lang.Object p1)` Checks to see if an item is locked before it is removed.
`void` `setParent(java.util.Hashtable parent)` Set the parent Hashtable for this object

Methods inherited from class java.util.Hashtable
`clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, hashCode, isEmpty, keys, keySet, putAll, rehash, size, toString, values`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### LockableHashtable

    public LockableHashtable()

### LockableHashtable

    public LockableHashtable(int p1,
                             float p2)

### LockableHashtable

    public LockableHashtable(java.util.Map p1)

### LockableHashtable

    public LockableHashtable(int p1)

Method Detail

### setParent

    public void setParent(java.util.Hashtable parent)

  Set the parent Hashtable for this object

### get

    public java.lang.Object get(java.lang.Object key)

  Get an entry from this hashtable, and if we don't find anything, defer to our parent, if any.

  Specified by:
    `get` in interface `java.util.Map`
  Overrides:
    `get` in class `java.util.Hashtable`

### put

    public java.lang.Object put(java.lang.Object p1,
                                java.lang.Object p2,
                                boolean locked)

  New version of the put() method that allows for explicitly marking items added to the hashtable as locked.

### put

    public java.lang.Object put(java.lang.Object p1,
                                java.lang.Object p2)

  Overrides the Hashtable.put() method to mark items as not being locked.

  Specified by:
    `put` in interface `java.util.Map`
  Overrides:
    `put` in class `java.util.Hashtable`

### remove

    public java.lang.Object remove(java.lang.Object p1)

  Checks to see if an item is locked before it is removed.

  Specified by:
    `remove` in interface `java.util.Map`
  Overrides:
    `remove` in class `java.util.Hashtable`

### isKeyLocked

    public boolean isKeyLocked(java.lang.Object key)

  Returns true if a given key is in our locked list

Copyright © 2003 Apache Web Services Project. All Rights Reserved.