Class URLUtil


  • public final class URLUtil
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.util.regex.Pattern URI_WINDOWS_FILE_PATTERN
      While URIs that contain pipe are wrong, we'll work around that for [WSTX-275].
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private URLUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static java.lang.String cleanSystemId​(java.lang.String sysId)  
      static java.io.InputStream inputStreamFromURL​(java.net.URL url)
      Method that tries to get a stream (ideally, optimal one) to read from the specified URL.
      static java.io.OutputStream outputStreamFromURL​(java.net.URL url)
      Method that tries to get a stream (ideally, optimal one) to write to the resource specified by given URL.
      private static void throwIOException​(java.lang.Exception mex, java.lang.String sysId)
      Helper method that tries to fully convert strange URL-specific exception to more general IO exception.
      static java.net.URL toURL​(java.io.File f)
      Helper method that will convert given file into equivalent URL.
      static java.net.URI uriFromSystemId​(java.lang.String sysId)  
      static java.net.URL urlFromCurrentDir()
      Method that tries to create and return URL that denotes current working directory.
      static java.net.URL urlFromSystemId​(java.lang.String sysId)
      Method that tries to figure out how to create valid URL from a system id, without additional contextual information.
      static java.net.URL urlFromSystemId​(java.lang.String sysId, java.net.URL ctxt)  
      • Methods inherited from class java.lang.Object

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

      • URI_WINDOWS_FILE_PATTERN

        private static final java.util.regex.Pattern URI_WINDOWS_FILE_PATTERN
        While URIs that contain pipe are wrong, we'll work around that for [WSTX-275].
    • Constructor Detail

      • URLUtil

        private URLUtil()
    • Method Detail

      • urlFromSystemId

        public static java.net.URL urlFromSystemId​(java.lang.String sysId)
                                            throws java.io.IOException
        Method that tries to figure out how to create valid URL from a system id, without additional contextual information. If we could use URIs this might be easier to do, but they are part of JDK 1.4, and preferably code should only require 1.2 (or maybe 1.3)
        Throws:
        java.io.IOException
      • uriFromSystemId

        public static java.net.URI uriFromSystemId​(java.lang.String sysId)
                                            throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        4.1
      • urlFromSystemId

        public static java.net.URL urlFromSystemId​(java.lang.String sysId,
                                                   java.net.URL ctxt)
                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • urlFromCurrentDir

        public static java.net.URL urlFromCurrentDir()
                                              throws java.io.IOException
        Method that tries to create and return URL that denotes current working directory. Usually used to create a context, when one is not explicitly passed.
        Throws:
        java.io.IOException
      • inputStreamFromURL

        public static java.io.InputStream inputStreamFromURL​(java.net.URL url)
                                                      throws java.io.IOException
        Method that tries to get a stream (ideally, optimal one) to read from the specified URL. Currently it just means creating a simple file input stream if the URL points to a (local) file, and otherwise relying on URL classes input stream creation method.
        Throws:
        java.io.IOException
      • outputStreamFromURL

        public static java.io.OutputStream outputStreamFromURL​(java.net.URL url)
                                                        throws java.io.IOException
        Method that tries to get a stream (ideally, optimal one) to write to the resource specified by given URL. Currently it just means creating a simple file output stream if the URL points to a (local) file, and otherwise relying on URL classes input stream creation method.
        Throws:
        java.io.IOException
      • toURL

        public static java.net.URL toURL​(java.io.File f)
                                  throws java.io.IOException
        Helper method that will convert given file into equivalent URL. Encapsulated as a separate method to allow for working around problems with deprecation of File.toURL() method.
        Throws:
        java.io.IOException
      • cleanSystemId

        private static java.lang.String cleanSystemId​(java.lang.String sysId)
      • throwIOException

        private static void throwIOException​(java.lang.Exception mex,
                                             java.lang.String sysId)
                                      throws java.io.IOException
        Helper method that tries to fully convert strange URL-specific exception to more general IO exception. Also, to try to use JDK 1.4 feature without creating requirement, uses reflection to try to set the root cause, if we are running on JDK1.4
        Throws:
        java.io.IOException