/* * JBoss, Home of Professional Open Source. * Copyright 2014 Red Hat, Inc., and individual contributors * as indicated by the @author tags. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.jboss.modules.test; import javax.xml.XMLConstants; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.Duration; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import javax.xml.stream.XMLEventFactory; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.events.DTD; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.sax.SAXTransformerFactory; import javax.xml.transform.sax.TransformerHandler; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathFactory; import org.w3c.dom.Document; import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.XMLReaderFactory; public class JAXPCaller { public Document document() { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try { return factory.newDocumentBuilder().newDocument(); } catch (ParserConfigurationException e) { throw new IllegalStateException(); } } public DocumentBuilderFactory documentFactory() { return DocumentBuilderFactory.newInstance(); } public DocumentBuilder documentBuilder() { try { return DocumentBuilderFactory.newInstance().newDocumentBuilder(); } catch (ParserConfigurationException e) { throw new IllegalStateException(); } } public SchemaFactory schemaFactory() { return SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); } public Schema schema() { try { return SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(); } catch (SAXException e) { throw new IllegalStateException(); } } public XMLReader xmlReader() { try { return XMLReaderFactory.createXMLReader(); } catch (SAXException e) { throw new IllegalStateException(); } } public SAXParserFactory saxParserFactory() { return SAXParserFactory.newInstance(); } public SAXParser saxParser() { try { return SAXParserFactory.newInstance().newSAXParser(); } catch (Exception e) { throw new IllegalStateException(); } } public XPathFactory xpathFactory() { return XPathFactory.newInstance(); } public XPath xpath() { try { return XPathFactory.newInstance().newXPath(); } catch (Exception e) { throw new IllegalStateException(); } } public TransformerFactory transformerFactory() { return TransformerFactory.newInstance(); } public Transformer transformer() { try { return transformerFactory().newTransformer(); } catch (Exception e) { throw new IllegalStateException(); } } public TransformerHandler transformerHandler() { try { return ((SAXTransformerFactory)transformerFactory()).newTransformerHandler(); } catch (Exception e) { throw new IllegalStateException(); } } public XMLEventFactory eventFactory() { return XMLEventFactory.newInstance(); } public DTD eventDTD() { try { return eventFactory().createDTD("blah"); } catch (Exception e) { throw new IllegalStateException(e); } } public XMLInputFactory inputFactory() { return XMLInputFactory.newInstance(); } public String inputProperty() { return String.valueOf(inputFactory().getProperty("javax.xml.stream.reporter")); } public XMLOutputFactory outputFactory() { return XMLOutputFactory.newInstance(); } public String outputProperty() { return String.valueOf(outputFactory().getProperty("javax.xml.stream.isRepairingNamespaces")); } public DatatypeFactory datatypeFactory() { try { return DatatypeFactory.newInstance(); } catch (DatatypeConfigurationException e) { throw new IllegalStateException(); } } public Duration duration() { return datatypeFactory().newDuration(1); } public static void main(String[] args) { // for main test, do nothing } }