Class Resolver

  • All Implemented Interfaces:
    javax.xml.transform.URIResolver, org.w3c.dom.ls.LSResourceResolver, org.xml.sax.EntityResolver, org.xml.sax.ext.EntityResolver2

    public class Resolver
    extends java.lang.Object
    implements org.xml.sax.ext.EntityResolver2, javax.xml.transform.URIResolver, org.w3c.dom.ls.LSResourceResolver
    An implementation of EntityResolver, URIResolver, and LSResourceResolver, based on the Apache catalog resolver.
    • Constructor Summary

      Constructors 
      Constructor Description
      Resolver​(java.io.File pBaseDir, java.util.List<java.io.File> pFiles, java.util.List<java.net.URL> pUrls, org.codehaus.plexus.resource.ResourceManager pLocator, AbstractXmlMojo.CatalogHandling catalogHandling, boolean pLogging)
      Creates a new instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private org.xml.sax.InputSource asInputSource​(java.net.URL url)  
      private javax.xml.transform.Source asSaxSource​(org.xml.sax.InputSource isource)  
      (package private) java.lang.String filterPossibleURI​(java.lang.String pResource)  
      org.xml.sax.InputSource getExternalSubset​(java.lang.String name, java.lang.String baseURI)
      Implementation of EntityResolver2.getExternalSubset(String, String)
      boolean isValidating()
      Returns, whether the Resolver should create validating parsers.
      boolean isXincludeAware()
      Returns, whether the transformer should create xinclude aware XML parsers for reading XML documents.
      private org.w3c.dom.ls.LSInput newLSInput​(org.xml.sax.InputSource pSource)  
      java.net.URL resolve​(java.lang.String pResource)
      Attempts to resolve the given URI.
      javax.xml.transform.Source resolve​(java.lang.String pHref, java.lang.String pBase)
      Implementation of URIResolver.resolve(String, String).
      private java.net.URL resolve​(java.lang.String pResource, java.net.URI pBaseURI)  
      private java.net.URL resolveAsFile​(java.lang.String pResource)  
      private java.net.URL resolveAsResource​(java.lang.String pResource)  
      private java.net.URL resolveAsURL​(java.lang.String pResource, java.net.URI pBaseURI)  
      org.xml.sax.InputSource resolveEntity​(java.lang.String pPublicId, java.lang.String pSystemId)
      Implementation of EntityResolver.resolveEntity(String, String).
      org.xml.sax.InputSource resolveEntity​(java.lang.String pName, java.lang.String pPublicId, java.lang.String pBaseURI, java.lang.String pSystemId)
      Implementation of EntityResolver2.resolveEntity(String, String, String, String)
      org.w3c.dom.ls.LSInput resolveResource​(java.lang.String pType, java.lang.String pNamespaceURI, java.lang.String pPublicId, java.lang.String pSystemId, java.lang.String pBaseURI)
      Implementation of LSResourceResolver.resolveResource(String, String, String, String, String).
      void setValidating​(boolean pValidating)
      Sets, whether the Resolver should create validating parsers.
      void setXincludeAware​(boolean pXIncludeAware)
      Sets, whether the transformer should create xinclude aware XML parsers for reading XML documents.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • locator

        private final org.codehaus.plexus.resource.ResourceManager locator
      • baseDir

        private final java.io.File baseDir
      • resolver

        private final org.apache.xml.resolver.tools.CatalogResolver resolver
      • validating

        private boolean validating
      • xincludeAware

        private boolean xincludeAware
    • Constructor Detail

      • Resolver

        Resolver​(java.io.File pBaseDir,
                 java.util.List<java.io.File> pFiles,
                 java.util.List<java.net.URL> pUrls,
                 org.codehaus.plexus.resource.ResourceManager pLocator,
                 AbstractXmlMojo.CatalogHandling catalogHandling,
                 boolean pLogging)
          throws org.apache.maven.plugin.MojoExecutionException
        Creates a new instance.
        Parameters:
        pFiles - A set of files with catalog definitions to load
        Throws:
        org.apache.maven.plugin.MojoExecutionException - An error occurred while loading the resolvers catalogs.
    • Method Detail

      • resolveEntity

        public org.xml.sax.InputSource resolveEntity​(java.lang.String pPublicId,
                                                     java.lang.String pSystemId)
                                              throws org.xml.sax.SAXException,
                                                     java.io.IOException
        Implementation of EntityResolver.resolveEntity(String, String).
        Specified by:
        resolveEntity in interface org.xml.sax.EntityResolver
        Throws:
        org.xml.sax.SAXException
        java.io.IOException
      • asInputSource

        private org.xml.sax.InputSource asInputSource​(java.net.URL url)
                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • resolve

        public javax.xml.transform.Source resolve​(java.lang.String pHref,
                                                  java.lang.String pBase)
                                           throws javax.xml.transform.TransformerException
        Implementation of URIResolver.resolve(String, String).
        Specified by:
        resolve in interface javax.xml.transform.URIResolver
        Throws:
        javax.xml.transform.TransformerException
      • asSaxSource

        private javax.xml.transform.Source asSaxSource​(org.xml.sax.InputSource isource)
                                                throws org.xml.sax.SAXException,
                                                       javax.xml.parsers.ParserConfigurationException
        Throws:
        org.xml.sax.SAXException
        javax.xml.parsers.ParserConfigurationException
      • newLSInput

        private final org.w3c.dom.ls.LSInput newLSInput​(org.xml.sax.InputSource pSource)
      • resolveResource

        public org.w3c.dom.ls.LSInput resolveResource​(java.lang.String pType,
                                                      java.lang.String pNamespaceURI,
                                                      java.lang.String pPublicId,
                                                      java.lang.String pSystemId,
                                                      java.lang.String pBaseURI)
        Implementation of LSResourceResolver.resolveResource(String, String, String, String, String).
        Specified by:
        resolveResource in interface org.w3c.dom.ls.LSResourceResolver
      • setValidating

        public void setValidating​(boolean pValidating)
        Sets, whether the Resolver should create validating parsers.
        Parameters:
        pValidating - True, if created parsers should validate. Otherwise false.
      • isValidating

        public boolean isValidating()
        Returns, whether the Resolver should create validating parsers.
        Returns:
        True, if created parsers should validate. Otherwise false.
      • resolveAsResource

        private java.net.URL resolveAsResource​(java.lang.String pResource)
      • resolveAsFile

        private java.net.URL resolveAsFile​(java.lang.String pResource)
      • resolveAsURL

        private java.net.URL resolveAsURL​(java.lang.String pResource,
                                          java.net.URI pBaseURI)
      • resolve

        public java.net.URL resolve​(java.lang.String pResource)
        Attempts to resolve the given URI.
        Parameters:
        pResource - The URI to resolve.
        Returns:
        The URL, which is being referred to by the URI. Null, if no such URL can be found.
      • resolve

        private java.net.URL resolve​(java.lang.String pResource,
                                     java.net.URI pBaseURI)
      • getExternalSubset

        public org.xml.sax.InputSource getExternalSubset​(java.lang.String name,
                                                         java.lang.String baseURI)
                                                  throws org.xml.sax.SAXException,
                                                         java.io.IOException
        Implementation of EntityResolver2.getExternalSubset(String, String)
        Specified by:
        getExternalSubset in interface org.xml.sax.ext.EntityResolver2
        Throws:
        org.xml.sax.SAXException
        java.io.IOException
      • resolveEntity

        public org.xml.sax.InputSource resolveEntity​(java.lang.String pName,
                                                     java.lang.String pPublicId,
                                                     java.lang.String pBaseURI,
                                                     java.lang.String pSystemId)
                                              throws org.xml.sax.SAXException,
                                                     java.io.IOException
        Implementation of EntityResolver2.resolveEntity(String, String, String, String)
        Specified by:
        resolveEntity in interface org.xml.sax.ext.EntityResolver2
        Throws:
        org.xml.sax.SAXException
        java.io.IOException
      • isXincludeAware

        public boolean isXincludeAware()
        Returns, whether the transformer should create xinclude aware XML parsers for reading XML documents. The default value is false.
        Returns:
        True, if transformers parser should be xinclud aware. Otherwise false.
      • setXincludeAware

        public void setXincludeAware​(boolean pXIncludeAware)
        Sets, whether the transformer should create xinclude aware XML parsers for reading XML documents. The default value is false.
        Parameters:
        pXIncludeAware - True, if transformers parser should be xinclud aware. Otherwise false.
      • filterPossibleURI

        java.lang.String filterPossibleURI​(java.lang.String pResource)