Class URLHandlerDispatcher

  • All Implemented Interfaces:
    URLHandler

    public class URLHandlerDispatcher
    extends java.lang.Object
    implements URLHandler
    This class is used to dispatch downloading requests
    • Constructor Detail

      • URLHandlerDispatcher

        public URLHandlerDispatcher()
    • Method Detail

      • isReachable

        public boolean isReachable​(java.net.URL url)
        Description copied from interface: URLHandler
        Please prefer getURLInfo when several infos are needed.
        Specified by:
        isReachable in interface URLHandler
        Parameters:
        url - the url to check
        Returns:
        true if the target is reachable
      • isReachable

        public boolean isReachable​(java.net.URL url,
                                   int timeout)
        Description copied from interface: URLHandler
        Please prefer getURLInfo when several infos are needed.
        Specified by:
        isReachable in interface URLHandler
        Parameters:
        url - the url to check
        Returns:
        true if the target is reachable
      • getContentLength

        public long getContentLength​(java.net.URL url)
        Description copied from interface: URLHandler
        Returns the length of the target if the given url is reachable, and without error code in case of http urls. Please prefer getURLInfo when several infos are needed.
        Specified by:
        getContentLength in interface URLHandler
        Parameters:
        url - the url to check
        Returns:
        the length of the target if available, 0 if not reachable
      • getContentLength

        public long getContentLength​(java.net.URL url,
                                     int timeout)
        Description copied from interface: URLHandler
        Returns the length of the target if the given url is reachable, and without error code in case of http urls.
        Specified by:
        getContentLength in interface URLHandler
        Parameters:
        url - the url to check
        timeout - the maximum time before considering an url is not reachable a timeout of zero indicates no timeout
        Returns:
        the length of the target if available, 0 if not reachable
      • getLastModified

        public long getLastModified​(java.net.URL url)
        Description copied from interface: URLHandler
        Please prefer getURLInfo when several infos are needed.
        Specified by:
        getLastModified in interface URLHandler
        Parameters:
        url - the url to check
        Returns:
        last modified timestamp of the given url
      • getLastModified

        public long getLastModified​(java.net.URL url,
                                    int timeout)
        Description copied from interface: URLHandler
        Please prefer getURLInfo when several infos are needed.
        Specified by:
        getLastModified in interface URLHandler
        Parameters:
        url - the url to check
        Returns:
        last modified timestamp of the given url
      • getURLInfo

        public URLHandler.URLInfo getURLInfo​(java.net.URL url,
                                             int timeout)
        Description copied from interface: URLHandler
        never returns null, return UNAVAILABLE when url is not reachable
        Specified by:
        getURLInfo in interface URLHandler
        Parameters:
        url - The url from which information is retrieved.
        timeout - The timeout in milliseconds.
        Returns:
        The URLInfo extracted from the given url, or URLHandler.UNAVAILABLE when the url is not available.
      • openStream

        public java.io.InputStream openStream​(java.net.URL url)
                                       throws java.io.IOException
        Specified by:
        openStream in interface URLHandler
        Throws:
        java.io.IOException
      • download

        public void download​(java.net.URL src,
                             java.io.File dest,
                             CopyProgressListener l)
                      throws java.io.IOException
        Specified by:
        download in interface URLHandler
        Throws:
        java.io.IOException
      • upload

        public void upload​(java.io.File src,
                           java.net.URL dest,
                           CopyProgressListener l)
                    throws java.io.IOException
        Specified by:
        upload in interface URLHandler
        Throws:
        java.io.IOException
      • setDownloader

        public void setDownloader​(java.lang.String protocol,
                                  URLHandler downloader)
      • getHandler

        public URLHandler getHandler​(java.lang.String protocol)
      • setDefault

        public void setDefault​(URLHandler default1)