Class URIResolver

  • All Implemented Interfaces:
    AutoCloseable

    public class URIResolver
    extends Object
    implements AutoCloseable
    Resolves a File, classpath resource, or URL according to the follow rules:
    • Check to see if a file exists, relative to the base URI.
    • If the file doesn't exist, check the classpath
    • If the classpath doesn't exist, try to create URL from the URI.
    • Method Detail

      • unresolve

        public void unresolve()
      • checkAllowedScheme

        public static void checkAllowedScheme​(URL targetUrl)
                                       throws IOException
        Verifies that the URL scheme is permitted by URIResolver allowlist policy.
        Throws:
        IOException
      • getLocalSchemes

        public static Set<String> getLocalSchemes()
        Returns the URL schemes that refer to local resources: the allowed schemes (including any configured with the "org.apache.cxf.resource.uriresolver.allowedSchemes" system property) plus the OSGi bundle schemes, minus the network schemes (http, https, ftp).
      • isLocalReference

        public static boolean isLocalReference​(String href,
                                               String base)
        Returns whether a reference refers to a local resource, i.e. whether its scheme is one of getLocalSchemes(). A relative reference is checked against the scheme of the base URI, or is treated as local if there is no base URI. An archive URL such as jar:http://host/a.jar!/a.xsl is checked against the scheme of the archive location. A reference that is not a valid URI is not local.
      • getAllowedSchemes

        public static Set<String> getAllowedSchemes()
      • getURI

        public URI getURI()
      • getURL

        public URL getURL()
      • isFile

        public boolean isFile()
      • getFile

        public File getFile()
      • isResolved

        public boolean isResolved()