import java.util.Map; import java.util.HashMap; public class ProspaceBuilder implements ProspaceHandler { private Map translators; private ProspaceDocument doc; public ProspaceBuilder() { translators = new HashMap(); translators.put("Project", new ProjectTranslator()); // TODO: add the rest of your translators here } public ProspaceDocument getDocument() { return doc; } public void start() { doc = new ProspaceDocument(); } public void header(String text) { doc.addHeader(text); } public void paragraph(String[] metadata, String[] data) throws ProspaceException { String type = metadata[0]; ParagraphTranslator translator = translators.get(type); if (translator == null) throw new ProspaceException("unknown paragraph type: " + type); ProspaceParagraph paragraph = translator.read(metadata, data); doc.addParagraph(paragraph); } public void end() { // nothing to do } }