org.apache.ivy.util.url
Interface URLHandler

All Known Implementing Classes:
AbstractURLHandler, BasicURLHandler, HttpClientHandler, URLHandlerDispatcher

public interface URLHandler

This interface is responsible for handling some URL manipulation (stream opening, downloading, check reachability, ...).


Nested Class Summary
static class URLHandler.URLInfo
           
 
Field Summary
static int REQUEST_METHOD_GET
          Using the slower REQUEST method for getting the basic URL infos.
static int REQUEST_METHOD_HEAD
          Using the faster HEAD method for getting the basic URL infos.
static URLHandler.URLInfo UNAVAILABLE
           
 
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.
 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 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 setRequestMethod(int requestMethod)
           
 void upload(java.io.File src, java.net.URL dest, CopyProgressListener l)
           
 

Field Detail

REQUEST_METHOD_GET

static final int REQUEST_METHOD_GET
Using the slower REQUEST method for getting the basic URL infos. Use this when getting errors behind a problematic/special proxy or firewall chain.

See Also:
Constant Field Values

REQUEST_METHOD_HEAD

static final int REQUEST_METHOD_HEAD
Using the faster HEAD method for getting the basic URL infos. Works for most common networks.

See Also:
Constant Field Values

UNAVAILABLE

static final URLHandler.URLInfo UNAVAILABLE
Method Detail

isReachable

boolean isReachable(java.net.URL url)
Please prefer getURLInfo when several infos are needed.

Parameters:
url - the url to check
Returns:
true if the target is reachable

isReachable

boolean isReachable(java.net.URL url,
                    int timeout)
Please prefer getURLInfo when several infos are needed.

Parameters:
url - the url to check
Returns:
true if the target is reachable

getContentLength

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. Please prefer getURLInfo when several infos are needed.

Parameters:
url - the url to check
Returns:
the length of the target if available, 0 if not reachable

getContentLength

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.

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

long getLastModified(java.net.URL url)
Please prefer getURLInfo when several infos are needed.

Parameters:
url - the url to check
Returns:
last modified timestamp of the given url

getLastModified

long getLastModified(java.net.URL url,
                     int timeout)
Please prefer getURLInfo when several infos are needed.

Parameters:
url - the url to check
Returns:
last modified timestamp of the given url

getURLInfo

URLHandler.URLInfo getURLInfo(java.net.URL url)
Returns the URLInfo of the given url or a UNAVAILABLE instance, if the url is not reachable.

Parameters:
url - The url from which information is retrieved.
Returns:
The URLInfo extracted from the given url, or UNAVAILABLE when the url is not available.

getURLInfo

URLHandler.URLInfo getURLInfo(java.net.URL url,
                              int timeout)
never returns null, return UNAVAILABLE when url is not reachable

Parameters:
url - The url from which information is retrieved.
timeout - The timeout in milliseconds.
Returns:
The URLInfo extracted from the given url, or UNAVAILABLE when the url is not available.

openStream

java.io.InputStream openStream(java.net.URL url)
                               throws java.io.IOException
Throws:
java.io.IOException

download

void download(java.net.URL src,
              java.io.File dest,
              CopyProgressListener l)
              throws java.io.IOException
Throws:
java.io.IOException

upload

void upload(java.io.File src,
            java.net.URL dest,
            CopyProgressListener l)
            throws java.io.IOException
Throws:
java.io.IOException

setRequestMethod

void setRequestMethod(int requestMethod)