com.sun.xml.xsom.impl.parser.SAXParserFactoryAdaptor Maven / Gradle / Ivy
Go to download
XML Schema Object Model (XSOM) is a Java library that allows applications to easily parse XML Schema
documents and inspect information in them. It is expected to be useful for applications that need to take XML
Schema as an input.
/*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the "License"). You may not use this file except
* in compliance with the License.
*
* You can obtain a copy of the license at
* https://jwsdp.dev.java.net/CDDLv1.0.html
* See the License for the specific language governing
* permissions and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* HEADER in each file and include the License file at
* https://jwsdp.dev.java.net/CDDLv1.0.html If applicable,
* add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your
* own identifying information: Portions Copyright [yyyy]
* [name of copyright owner]
*/
package com.sun.xml.xsom.impl.parser;
import com.sun.xml.xsom.parser.XMLParser;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLFilterImpl;
import org.xml.sax.helpers.XMLReaderAdapter;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import java.io.IOException;
/**
* {@link SAXParserFactory} implementation that ultimately
* uses {@link XMLParser} to parse documents.
*
* @author
* Kohsuke Kawaguchi ([email protected])
*/
public class SAXParserFactoryAdaptor extends SAXParserFactory {
private final XMLParser parser;
public SAXParserFactoryAdaptor( XMLParser _parser ) {
this.parser = _parser;
}
public SAXParser newSAXParser() throws ParserConfigurationException, SAXException {
return new SAXParserImpl();
}
public void setFeature(String name, boolean value) {
;
}
public boolean getFeature(String name) {
return false;
}
private class SAXParserImpl extends SAXParser
{
private final XMLReaderImpl reader = new XMLReaderImpl();
/**
* @deprecated
*/
public org.xml.sax.Parser getParser() throws SAXException {
return new XMLReaderAdapter(reader);
}
public XMLReader getXMLReader() throws SAXException {
return reader;
}
public boolean isNamespaceAware() {
return true;
}
public boolean isValidating() {
return false;
}
public void setProperty(String name, Object value) {
}
public Object getProperty(String name) {
return null;
}
}
private class XMLReaderImpl extends XMLFilterImpl
{
public void parse(InputSource input) throws IOException, SAXException {
parser.parse(input,this,this,this);
}
public void parse(String systemId) throws IOException, SAXException {
parser.parse(new InputSource(systemId),this,this,this);
}
}
}