package org.hccp.pdf; import java.util.HashMap; import java.util.Set; public class Dictionary implements DocumentObject { private Name typeKey; private Name subTypeKey; private HashMap entries; private static final String TYPE = "/Type"; private static final String SUB_TYPE = "/Subtype"; public void addEntry(Name name, DocumentObject docObj) { entries.put(name, docObj); } public Dictionary() { typeKey = new Name(TYPE); subTypeKey = new Name(SUB_TYPE); entries = new HashMap(); addEntry(typeKey, new Null()); addEntry(subTypeKey, new Null()); } public Dictionary(Name type) { typeKey = new Name(TYPE); subTypeKey = new Name(SUB_TYPE); entries = new HashMap(); addEntry(typeKey, type); addEntry(subTypeKey, new Null()); } public Dictionary(Name type, Name subType) { typeKey = new Name(TYPE); subTypeKey = new Name(SUB_TYPE); entries = new HashMap(); addEntry(typeKey, type); addEntry(subTypeKey, subType); } public String getValue() { HashMap hashmap = (HashMap)entries.clone(); StringBuffer sb = new StringBuffer(); sb.append("<<\n"); Object aobj[] = new Object[entries.size()]; aobj = entries.keySet().toArray(); for(int i = 0; i < aobj.length; i++) sb.append(((DocumentObject)aobj[i]).getValue() + "\t" + ((DocumentObject)entries.get(aobj[i])).getValue() + "\n"); sb.append(">>\n"); return sb.toString(); } }