Package org.apache.axis.utils
Class LockableHashtable
- java.lang.Object
-
- java.util.Dictionary<K,V>
-
- java.util.Hashtable
-
- org.apache.axis.utils.LockableHashtable
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.util.Map
public class LockableHashtable extends java.util.HashtableThis 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
Constructors Constructor Description LockableHashtable()LockableHashtable(int p1)LockableHashtable(int p1, float p2)LockableHashtable(java.util.Map p1)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectget(java.lang.Object key)Get an entry from this hashtable, and if we don't find anything, defer to our parent, if any.java.util.SetgetAllKeys()Returns the keys in this hashtable, and its parent chainjava.util.HashtablegetParent()Gets the parent Hashtable for this object (if any)booleanisKeyLocked(java.lang.Object key)Returns true if a given key is in our locked listjava.lang.Objectput(java.lang.Object p1, java.lang.Object p2)Overrides the Hashtable.put() method to mark items as not being locked.java.lang.Objectput(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.Objectremove(java.lang.Object p1)Checks to see if an item is locked before it is removed.voidsetParent(java.util.Hashtable parent)Set the parent Hashtable for this object-
Methods inherited from class java.util.Hashtable
clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, getOrDefault, hashCode, isEmpty, keys, keySet, merge, putAll, putIfAbsent, rehash, remove, replace, replace, replaceAll, size, toString, values
-
-
-
-
Method Detail
-
setParent
public void setParent(java.util.Hashtable parent)
Set the parent Hashtable for this object
-
getParent
public java.util.Hashtable getParent()
Gets the parent Hashtable for this object (if any)
-
getAllKeys
public java.util.Set getAllKeys()
Returns the keys in this hashtable, and its parent chain
-
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:
getin interfacejava.util.Map- Overrides:
getin classjava.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:
putin interfacejava.util.Map- Overrides:
putin classjava.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:
removein interfacejava.util.Map- Overrides:
removein classjava.util.Hashtable
-
isKeyLocked
public boolean isKeyLocked(java.lang.Object key)
Returns true if a given key is in our locked list
-
-