Class UriUtil

java.lang.Object
org.apache.tomcat.util.buf.UriUtil

public final class UriUtil extends Object
Utility class for working with URIs and URLs.
  • Method Details

    • hasScheme

      public static boolean hasScheme(CharSequence uri)
      Determine if a URI string has a scheme component.
      Parameters:
      uri - The URI to test
      Returns:
      true if a scheme is present, otherwise {code @false}
    • buildJarUrl

      public static URL buildJarUrl(File jarFile) throws IOException
      Throws:
      IOException
    • buildJarUrl

      public static URL buildJarUrl(File jarFile, String entryPath) throws IOException
      Throws:
      IOException
    • buildJarUrl

      public static URL buildJarUrl(String fileUrlString) throws IOException
      Throws:
      IOException
    • buildJarUrl

      public static URL buildJarUrl(String fileUrlString, String entryPath) throws IOException
      Throws:
      IOException
    • buildJarSafeUrl

      public static URL buildJarSafeUrl(File file) throws IOException
      Throws:
      IOException
    • warToJar

      public static URL warToJar(URL warUrl) throws IOException
      Convert a URL of the form war:file:... to jar:file:....
      Parameters:
      warUrl - The WAR URL to convert
      Returns:
      The equivalent JAR URL
      Throws:
      IOException - If the conversion fails
    • getWarSeparator

      public static String getWarSeparator()
    • isAbsoluteURI

      public static boolean isAbsoluteURI(String path)
      Does the provided path start with file:/ or <protocol>://.
      Parameters:
      path - The path to test
      Returns:
      true if the supplied path starts with once of the recognised sequences.
    • resolve

      public static URI resolve(URI base, String target) throws MalformedURLException, URISyntaxException
      Replicates the behaviour of URI.resolve(String) and adds support for URIs of the form jar:file:/... .
      Parameters:
      base - The base URI to resolve against
      target - The path to resolve
      Returns:
      The resulting URI as per URI.resolve(String)
      Throws:
      MalformedURLException - If the base URI cannot be converted to a URL
      URISyntaxException - If the resulting URL cannot be converted to a URI