package org.omg.bpmn.miwg.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
public class DOMFactory {
public static Document getDocument(InputStream stream)
throws ParserConfigurationException, SAXException, IOException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(stream);
return document;
}
public static Document getDocument(String resourceName)
throws FileNotFoundException, ParserConfigurationException,
SAXException, IOException {
return getDocument(DOMFactory.class.getResourceAsStream(resourceName));
}
public static Document getDocument(File file) throws FileNotFoundException,
ParserConfigurationException, SAXException, IOException {
System.err
.println("WARNING! This method MAY NOT be portable as it relies on file system layout");
return getDocument(new FileInputStream(file));
}
}