package com.gvaneyck.rtmp.encoding; import java.util.Date; import java.util.HashMap; /** * A map of objects with utility methods * * @author Gabriel Van Eyck */ public class ObjectMap extends HashMap<String, Object> { private static final long serialVersionUID = -7957187649383807122L; /** * Convenience for going through object hierarchy * * @param key The key of the ObjectMap * @return The ObjectMap */ public ObjectMap getMap(String key) { return (ObjectMap)get(key); } /** * Convenience for retrieving Strings * * @param key The key of the String * @return The String */ public String getString(String key) { return (String)get(key); } /** * Convenience for retrieving integers * * @param key The key of the integer * @return The integer */ public Integer getInt(String key) { Object val = get(key); if (val == null) return null; else if (val instanceof Integer) return (Integer)val; else return ((Double)val).intValue(); } /** * Convenience for retrieving longs * * @param key The key of the long * @return The long */ public Long getLong(String key) { Object val = get(key); if (val == null) return null; else if (val instanceof Integer) return ((Integer)val).longValue(); else return ((Double)val).longValue(); } /** * Convenience for retrieving doubles * * @param key The key of the double * @return The double */ public Double getDouble(String key) { Object val = get(key); if (val == null) return null; else if (val instanceof Double) return (Double)val; else return ((Integer)val).doubleValue(); } /** * Convenience for retrieving booleans * * @param key The key of the boolean * @return The boolean */ public Boolean getBool(String key) { return (Boolean)get(key); } /** * Convenience for retrieving object arrays * * @param key The key of the object array * @return The object array */ public Object[] getArray(String key) { return (Object[])get(key); } /** * Convenience for retrieving Date objects * * @param key The key of the Date object * @return The Date object */ public Date getDate(String key) { return (Date)get(key); } }