/* * Created on Aug 5, 2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package org.openiam.util.ws.collection; import java.util.*; /** * Utility class to move between Maps and Arrays of objects. */ public class MapUtil { public MapUtil() { } public static Object get(String key, MapItem[] items) { if (items == null) return null; int size = items.length; for (int i = 0; i < size; i++) { MapItem item = (MapItem) items[i]; if (item.getKey().equals(key)) return item.getItem(); } return null; } public static MapItem[] remove(String key, MapItem[] items) { if (items == null) return null; MapItem[] newItems = new MapItem[items.length]; int j = 0; int size = items.length; for (int i = 0; i < size; i++) { MapItem item = (MapItem) items[i]; if (item.getKey().equals(key)) newItems[j++] = items[i]; } return newItems; } public static MapItem[] clear(MapItem[] items) { if (items == null) return null; MapItem[] newItems = new MapItem[items.length]; return newItems; } public static Map getMap(MapItem[] items) { if (items == null) return null; Map m = new HashMap(); int size = items.length; for (int i = 0; i < size; i++) { MapItem item = (MapItem) items[i]; m.put(item.getKey(), item.getItem()); } return m; } public static MapItem[] addMapItem(MapItem item, MapItem[] itemAry) { if (itemAry == null) return null; int size = itemAry.length; itemAry[size] = item; return itemAry; } public static MapItem[] updateMapItem(MapItem item, MapItem[] itemAry) { if (itemAry == null) return null; int size = itemAry.length; for (int i = 0; i < size; i++) { MapItem mItem = (MapItem) itemAry[i]; if (mItem.getKey().equals(item.getKey())) { itemAry[i] = item; } } return itemAry; } public static MapItem[] getArray(Map m) { if (m == null) return null; Set keys = m.keySet(); Iterator iKeys = keys.iterator(); MapItem[] items = new MapItem[m.size()]; for (int i = 0; i < m.size(); i++) { MapItem item = new MapItem(); String key = (String)iKeys.next(); item.setKey(key); item.setItem(m.get(key)); items[i] = item; } return items; } }