Class URLHandlerDispatcher

    • 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
        timeout - the timeout in milliseconds
        Returns:
        true if the target is reachable
      • getContentLength

        public long getContentLength​(java.net.URL url)
        Description copied from interface: URLHandler
        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 the given url is reachable, 0 otherwise. No error code in case of http urls.
      • getContentLength

        public long getContentLength​(java.net.URL url,
                                     int timeout)
        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 the given url is reachable, 0 otherwise. No error code in case of http urls.
      • getContentLength

        public long getContentLength​(java.net.URL url,
                                     TimeoutConstraint timeoutConstraint)
        Description copied from interface: TimeoutConstrainedURLHandler
        Returns the number of bytes of data that's available for the resource at the passed url. Returns 0 if the passed url isn't reachable
        Specified by:
        getContentLength in interface TimeoutConstrainedURLHandler
        Parameters:
        url - The URL to access
        timeoutConstraint - The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific
        Returns:
        long
      • 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
        timeout - the timeout in milliseconds
        Returns:
        last modified timestamp of the given url
      • getURLInfo

        public URLHandler.URLInfo getURLInfo​(java.net.URL url)
        Specified by:
        getURLInfo in interface URLHandler
        Parameters:
        url - The url from which information is retrieved.
        Returns:
        The URLInfo extracted from the given url, or URLHandler.UNAVAILABLE instance when the url is not reachable.
      • getURLInfo

        public URLHandler.URLInfo getURLInfo​(java.net.URL url,
                                             int timeout)
        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 reachable, never null.
      • openStream

        public java.io.InputStream openStream​(java.net.URL url)
                                       throws java.io.IOException
        Specified by:
        openStream in interface URLHandler
        Parameters:
        url - ditto
        Returns:
        InputStream
        Throws:
        java.io.IOException - if something goes wrong
      • openStream

        public java.io.InputStream openStream​(java.net.URL url,
                                              TimeoutConstraint timeoutConstraint)
                                       throws java.io.IOException
        Description copied from interface: TimeoutConstrainedURLHandler
        Opens and returns an InputStream to the passed url.
        Specified by:
        openStream in interface TimeoutConstrainedURLHandler
        Parameters:
        url - The URL to which an InputStream has to be opened
        timeoutConstraint - The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific
        Returns:
        InputStream
        Throws:
        java.io.IOException - if something goes wrong
      • download

        public void download​(java.net.URL src,
                             java.io.File dest,
                             CopyProgressListener l)
                      throws java.io.IOException
        Specified by:
        download in interface URLHandler
        Parameters:
        src - URL
        dest - File
        l - CopyProgressListener
        Throws:
        java.io.IOException - if something goes wrong
      • download

        public void download​(java.net.URL src,
                             java.io.File dest,
                             CopyProgressListener listener,
                             TimeoutConstraint timeoutConstraint)
                      throws java.io.IOException
        Description copied from interface: TimeoutConstrainedURLHandler
        Downloads the resource available at src to the target dest
        Specified by:
        download in interface TimeoutConstrainedURLHandler
        Parameters:
        src - The source URL to download the resource from
        dest - The destination File to download the resource to
        listener - The listener that will be notified of the download progress
        timeoutConstraint - The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific
        Throws:
        java.io.IOException - if something goes wrong
      • upload

        public void upload​(java.io.File src,
                           java.net.URL dest,
                           CopyProgressListener l)
                    throws java.io.IOException
        Specified by:
        upload in interface URLHandler
        Parameters:
        src - File
        dest - URL
        l - CopyProgressListener
        Throws:
        java.io.IOException - if something goes wrong
      • upload

        public void upload​(java.io.File src,
                           java.net.URL dest,
                           CopyProgressListener listener,
                           TimeoutConstraint timeoutConstraint)
                    throws java.io.IOException
        Description copied from interface: TimeoutConstrainedURLHandler
        Uploads the src File to the target dest URL
        Specified by:
        upload in interface TimeoutConstrainedURLHandler
        Parameters:
        src - The source File to upload
        dest - The target URL where the File has to be uploaded
        listener - The listener that will be notified of the upload progress
        timeoutConstraint - The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific
        Throws:
        java.io.IOException - if something goes wrong
      • setDownloader

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

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

        public void setDefault​(URLHandler default1)