org.apache.ivy.util.url
Class URLHandlerDispatcher

java.lang.Object
  extended by org.apache.ivy.util.url.URLHandlerDispatcher
All Implemented Interfaces:
URLHandler

public class URLHandlerDispatcher
extends java.lang.Object
implements URLHandler

This class is used to dispatch downloading requests


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.ivy.util.url.URLHandler
URLHandler.URLInfo
 
Field Summary
 
Fields inherited from interface org.apache.ivy.util.url.URLHandler
REQUEST_METHOD_GET, REQUEST_METHOD_HEAD, UNAVAILABLE
 
Constructor Summary
URLHandlerDispatcher()
           
 
Method Summary
 void download(java.net.URL src, java.io.File dest, CopyProgressListener l)
           
 long getContentLength(java.net.URL url)
          Returns the length of the target if the given url is reachable, and without error code in case of http urls.
 long getContentLength(java.net.URL url, int timeout)
          Returns the length of the target if the given url is reachable, and without error code in case of http urls.
 URLHandler getDefault()
           
 URLHandler getHandler(java.lang.String protocol)
           
 long getLastModified(java.net.URL url)
          Please prefer getURLInfo when several infos are needed.
 long getLastModified(java.net.URL url, int timeout)
          Please prefer getURLInfo when several infos are needed.
 URLHandler.URLInfo getURLInfo(java.net.URL url)
          Returns the URLInfo of the given url or a URLHandler.UNAVAILABLE instance, if the url is not reachable.
 URLHandler.URLInfo getURLInfo(java.net.URL url, int timeout)
          never returns null, return UNAVAILABLE when url is not reachable
 boolean isReachable(java.net.URL url)
          Please prefer getURLInfo when several infos are needed.
 boolean isReachable(java.net.URL url, int timeout)
          Please prefer getURLInfo when several infos are needed.
 java.io.InputStream openStream(java.net.URL url)
           
 void setDefault(URLHandler default1)
           
 void setDownloader(java.lang.String protocol, URLHandler downloader)
           
 void setRequestMethod(int requestMethod)
           
 void upload(java.io.File src, java.net.URL dest, CopyProgressListener l)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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)
Description copied from interface: URLHandler
Returns the URLInfo of the given url or a URLHandler.UNAVAILABLE instance, if the url is not reachable.

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 when the url is not available.

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

setRequestMethod

public void setRequestMethod(int requestMethod)
Specified by:
setRequestMethod in interface URLHandler

setDownloader

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

getHandler

public URLHandler getHandler(java.lang.String protocol)

getDefault

public URLHandler getDefault()

setDefault

public void setDefault(URLHandler default1)