| IdentityHashMap.java |
/**
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the docs/licenses/apache-1.1.txt file.
*/
package org.jboss.axis.utils;
import java.util.HashMap;
import java.util.Map;
/**
* IdentityHashMap similar to JDK1.4's java.util.IdentityHashMap
*
* @author Davanum Srinivas <dims@yahoo.com>
*/
public class IdentityHashMap extends HashMap
{
/**
* Constructor for IdentityHashMap.
*
* @param initialCapacity
* @param loadFactor
*/
public IdentityHashMap(int initialCapacity, float loadFactor)
{
super(initialCapacity, loadFactor);
}
/**
* Constructor for IdentityHashMap.
*
* @param initialCapacity
*/
public IdentityHashMap(int initialCapacity)
{
super(initialCapacity);
}
/**
* Constructor for IdentityHashMap.
*/
public IdentityHashMap()
{
super();
}
/**
* Constructor for IdentityHashMap.
*
* @param t
*/
public IdentityHashMap(Map t)
{
super(t);
}
/**
* @see Map#get(Object)
*/
public Object get(Object key)
{
return super.get(new IDKey(key));
}
/**
* @see Map#put(Object, Object)
*/
public Object put(Object key, Object value)
{
return super.put(new IDKey(key), value);
}
/**
* adds an object to the Map. new Identity(obj) is used as key
*/
public Object add(Object value)
{
Object key = new IDKey(value);
if (!super.containsKey(key))
{
return super.put(key, value);
}
else
return null;
}
/**
* @see Map#remove(Object)
*/
public Object remove(Object key)
{
return super.remove(new IDKey(key));
}
/**
* @see Map#containsKey(Object)
*/
public boolean containsKey(Object key)
{
return super.containsKey(new IDKey(key));
}
}
| IdentityHashMap.java |