public static Entry fromMap(Map<?, ?> map) { entry e = new entry(entry.data_type.dictionary_t); string_entry_map d = e.dict(); for (Map.Entry<?, ?> kv : map.entrySet()) { String k = kv.getKey().toString(); Object v = kv.getValue(); if (v instanceof String) { d.set(k, new entry((String) v)); } else if (v instanceof Integer) { d.set(k, new entry((Integer) v)); } else if (v instanceof Entry) { d.set(k, ((Entry) v).getSwig()); } else if (v instanceof entry) { d.set(k, (entry) v); } else if (v instanceof List) { d.set(k, fromList((List<?>) v).getSwig()); } else if (v instanceof Map) { d.set(k, fromMap((Map<?, ?>) v).getSwig()); } else { d.set(k, new entry(v.toString())); } } return new Entry(e); }
public Map<String, Entry> dictionary() { string_entry_map dict = e.dict(); string_vector keys = dict.keys(); int size = (int) keys.size(); Map<String, Entry> map = new HashMap<String, Entry>(size); for (int i = 0; i < size; i++) { String key = keys.get(i); Entry value = new Entry(dict.get(key)); map.put(key, value); } return map; }