
org.sourceprojects.xmlparser.internal.EntityResolverImpl Maven / Gradle / Ivy
/*
*
* This file is part of XmlParser.
*
* Foobar is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Foobar is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Foobar. If not, see .
*
*/
package org.sourceprojects.xmlparser.internal;
import java.io.IOException;
import org.sourceprojects.xmlparser.ResourceResolver;
import org.w3c.dom.ls.LSInput;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.ext.EntityResolver2;
/**
*
* @author noctarius
* @since 0.0.1
*/
public class EntityResolverImpl implements EntityResolver2 {
private final ResourceResolver resourceResolver;
public EntityResolverImpl(ResourceResolver resourceResolver) {
this.resourceResolver = resourceResolver;
}
@Override
public InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
LSInput input = resourceResolver.resolveResource(null, null, publicId, systemId, null);
if (input != null && input.getByteStream() != null)
return new InputSource(input.getByteStream());
return null;
}
@Override
public InputSource getExternalSubset(String name, String baseURI)
throws SAXException, IOException {
return null;
}
@Override
public InputSource resolveEntity(String name, String publicId,
String baseURI, String systemId) throws SAXException, IOException {
return resolveEntity(publicId, systemId);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy