Package 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
Nested Classes Modifier and Type Interface Description static class
URLHandler.URLInfo
-
Field Summary
Fields Modifier and Type Field Description 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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 aUNAVAILABLE
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 reachableboolean
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 checktimeout
- 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 aUNAVAILABLE
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)
-
-