package org.cmc.music.util;
import java.io.File;
import java.util.Date;
import java.util.Hashtable;
import java.util.Map;
import java.util.Vector;
public class MyMap extends Hashtable
{
public static final long serialVersionUID = 1;
public MyMap()
{
}
public MyMap(Map other)
{
super(other);
}
private Object actual_get(Object key, Object def)
{
Object result = super.get(key);
return (result == null) ? (def) : (result);
}
public final Object getRequired(Object key) throws Exception
{
Object result = actual_get(key, null);
if (result == null)
throw new Exception("missing: " + key);
return result;
}
// public final Number getRequiredNumber(Object key) throws Exception
// {
// return (Number) getRequired(key);
// }
public final Boolean getRequiredBoolean(Object key) throws Exception
{
Boolean result = getBoolean(key);
if (result == null)
throw new Exception("missing: " + key);
return result;
}
public final Number getRequiredNumber(Object key) throws Exception
{
Number result = getNumber(key);
if (result == null)
throw new Exception("missing: " + key);
return result;
}
public final String getRequiredString(Object key) throws Exception
{
String result = getString(key);
if (result == null)
throw new Exception("missing: " + key);
return result;
}
public Object get(Object key, Object def)
{
return actual_get(key, def);
}
public Integer get(Object key, Integer def)
{
return (Integer) actual_get(key, def);
}
public String get(Object key, String def)
{
return (String) actual_get(key, def);
}
public Boolean get(Object key, Boolean def)
{
return (Boolean) actual_get(key, def);
}
public Integer get(Object key, int def)
{
return (Integer) actual_get(key, new Integer(def));
}
public final Object put(Object key, long value)
{
return put(key, new Long(value));
}
public final Object put(Object key, int value)
{
return put(key, new Integer(value));
}
public final Object put(Object key, boolean value)
{
return put(key, new Boolean(value));
}
public final Object put(Object key, char value)
{
return put(key, new Character(value));
}
public final Object put(Object key, double value)
{
return put(key, new Double(value));
}
public final Object put(Object key, float value)
{
return put(key, new Float(value));
}
public final Object put(Object key, byte value)
{
return put(key, new Byte(value));
}
public final Object put(Object key, short value)
{
return put(key, new Short(value));
}
public final Object put(Object key, Object value)
{
if ((key != null) && (value != null))
return super.put(key, value);
super.remove(key);
return null;
// return super.get(key);
}
public Boolean getBoolean(Object key)
{
return getBoolean(key, null);
}
public Boolean getBoolean(Object key, Boolean def)
{
try
{
return (Boolean) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
public File getFile(Object key)
{
return getFile(key, null);
}
public File getFile(Object key, File def)
{
try
{
return (File) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
public Vector getVector(Object key)
{
return getVector(key, null);
}
public Vector getVector(Object key, Vector def)
{
try
{
return (Vector) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
public Map getMap(Object key)
{
return getMap(key, null);
}
public Map getMap(Object key, Map def)
{
try
{
return (Map) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
public byte[] getByteArray(Object key)
{
return getByteArray(key, null);
}
public byte[] getByteArray(Object key, byte[] def)
{
try
{
return (byte[]) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
public Number getNumber(Object key)
{
return getNumber(key, null);
}
public Number getNumber(Object key, Number def)
{
try
{
return (Number) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
public Integer getInteger(Object key)
{
return getInteger(key, null);
}
public Integer getInteger(Object key, Integer def)
{
try
{
return (Integer) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
public Double getDouble(Object key)
{
return getDouble(key, null);
}
public Double getDouble(Object key, Double def)
{
try
{
return (Double) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
public Float getFloat(Object key)
{
return getFloat(key, null);
}
public Float getFloat(Object key, Float def)
{
try
{
return (Float) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
public String getString(Object key)
{
return getString(key, null);
}
public String getString(Object key, String def)
{
try
{
return (String) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
public Date getDate(Object key)
{
return getDate(key, null);
}
public Date getDate(Object key, Date def)
{
try
{
return (Date) actual_get(key, def);
} catch (ClassCastException e)
{
Debug.debug(e);
return null;
}
}
}