/** * Returns <tt>true</tt> if and only if this <tt>CompositeData</tt> instance contains an item * whose name is <tt>key</tt>. If <tt>key</tt> is a null or empty String, this method simply * returns false. */ public boolean containsKey(String key) { if ((key == null) || (key.trim().equals(""))) { return false; } return contents.containsKey(key); }
private static SortedMap<String, Object> makeMap(String[] itemNames, Object[] itemValues) throws OpenDataException { if (itemNames == null || itemValues == null) throw new IllegalArgumentException("Null itemNames or itemValues"); if (itemNames.length == 0 || itemValues.length == 0) throw new IllegalArgumentException("Empty itemNames or itemValues"); if (itemNames.length != itemValues.length) { throw new IllegalArgumentException( "Different lengths: itemNames[" + itemNames.length + "], itemValues[" + itemValues.length + "]"); } SortedMap<String, Object> map = new TreeMap<String, Object>(); for (int i = 0; i < itemNames.length; i++) { String name = itemNames[i]; if (name == null || name.equals("")) throw new IllegalArgumentException("Null or empty item name"); if (map.containsKey(name)) throw new OpenDataException("Duplicate item name " + name); map.put(itemNames[i], itemValues[i]); } return map; }
/** * Returns the value of the item whose name is <tt>key</tt>. * * @throws IllegalArgumentException if <tt>key</tt> is a null or empty String. * @throws InvalidKeyException if <tt>key</tt> is not an existing item name for this * <tt>CompositeData</tt> instance. */ public Object get(String key) { if ((key == null) || (key.trim().equals(""))) { throw new IllegalArgumentException("Argument key cannot be a null or empty String."); } if (!contents.containsKey(key.trim())) { throw new InvalidKeyException( "Argument key=\"" + key.trim() + "\" is not an existing item name for this CompositeData instance."); } return contents.get(key.trim()); }