Package org.apache.ivy.util.url
Class BasicURLHandler
- java.lang.Object
-
- org.apache.ivy.util.url.AbstractURLHandler
-
- org.apache.ivy.util.url.BasicURLHandler
-
- All Implemented Interfaces:
TimeoutConstrainedURLHandler,URLHandler
public class BasicURLHandler extends AbstractURLHandler implements TimeoutConstrainedURLHandler
-
-
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
Constructors Constructor Description BasicURLHandler()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddownload(java.net.URL src, java.io.File dest, CopyProgressListener l)voiddownload(java.net.URL src, java.io.File dest, CopyProgressListener listener, TimeoutConstraint timeoutConstraint)Downloads the resource available atsrcto the targetdeststatic java.lang.StringgetCharSetFromContentType(java.lang.String contentType)Extract the charset from the Content-Type header string, or default to ISO-8859-1 as per rfc2616-sec3.html#sec3.7.1 .longgetContentLength(java.net.URL url, TimeoutConstraint timeoutConstraint)Returns the number of bytes of data that's available for the resource at the passedurl.longgetLastModified(java.net.URL url, TimeoutConstraint timeoutConstraint)Returns the last modified timestamp of the resource accessible at the passedurl.URLHandler.URLInfogetURLInfo(java.net.URL url)URLHandler.URLInfogetURLInfo(java.net.URL url, int timeout)URLHandler.URLInfogetURLInfo(java.net.URL url, TimeoutConstraint timeoutConstraint)Returns theURLHandler.URLInfoextracted from the given url, orURLHandler.UNAVAILABLEwhen the url is not reachable.booleanisReachable(java.net.URL url, TimeoutConstraint timeoutConstraint)Returns true if the passedURLis reachable.java.io.InputStreamopenStream(java.net.URL url)java.io.InputStreamopenStream(java.net.URL url, TimeoutConstraint timeoutConstraint)Opens and returns anInputStreamto the passedurl.voidupload(java.io.File source, java.net.URL dest, CopyProgressListener l)voidupload(java.io.File src, java.net.URL dest, CopyProgressListener listener, TimeoutConstraint timeoutConstraint)Uploads thesrcFileto the targetdestURL-
Methods inherited from class org.apache.ivy.util.url.AbstractURLHandler
createTimeoutConstraints, getContentLength, getContentLength, getDecodingInputStream, getLastModified, getLastModified, getRequestMethod, getUserAgent, isReachable, isReachable, normalizeToString, normalizeToURL, setRequestMethod, validatePutStatusCode
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.ivy.util.url.URLHandler
getContentLength, getContentLength, getLastModified, getLastModified, isReachable, isReachable, setRequestMethod
-
-
-
-
Method Detail
-
getURLInfo
public URLHandler.URLInfo getURLInfo(java.net.URL url)
- Specified by:
getURLInfoin interfaceURLHandler- Parameters:
url- The url from which information is retrieved.- Returns:
- The URLInfo extracted from the given url, or
URLHandler.UNAVAILABLEinstance when the url is not reachable.
-
getURLInfo
public URLHandler.URLInfo getURLInfo(java.net.URL url, int timeout)
- Specified by:
getURLInfoin interfaceURLHandler- Parameters:
url- The url from which information is retrieved.timeout- The timeout in milliseconds.- Returns:
- The URLInfo extracted from the given url, or
URLHandler.UNAVAILABLEwhen the url is not reachable, never null.
-
isReachable
public boolean isReachable(java.net.URL url, TimeoutConstraint timeoutConstraint)Description copied from interface:TimeoutConstrainedURLHandlerReturns true if the passedURLis reachable. Else returns false. Uses the passedtimeoutConstraintfor determining the connectivity to the URL.Please use
TimeoutConstrainedURLHandler.getURLInfo(URL, TimeoutConstraint)if more one information about theurlis needed- Specified by:
isReachablein interfaceTimeoutConstrainedURLHandler- Parameters:
url- The URL to accesstimeoutConstraint- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Returns:
- boolean
-
getContentLength
public long getContentLength(java.net.URL url, TimeoutConstraint timeoutConstraint)Description copied from interface:TimeoutConstrainedURLHandlerReturns the number of bytes of data that's available for the resource at the passedurl. Returns 0 if the passedurlisn't reachable- Specified by:
getContentLengthin interfaceTimeoutConstrainedURLHandler- Parameters:
url- The URL to accesstimeoutConstraint- 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, TimeoutConstraint timeoutConstraint)Description copied from interface:TimeoutConstrainedURLHandlerReturns the last modified timestamp of the resource accessible at the passedurl.Please use
TimeoutConstrainedURLHandler.getURLInfo(URL, TimeoutConstraint)if more one information about theurlis needed- Specified by:
getLastModifiedin interfaceTimeoutConstrainedURLHandler- Parameters:
url- The URL to accesstimeoutConstraint- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Returns:
- long
-
getURLInfo
public URLHandler.URLInfo getURLInfo(java.net.URL url, TimeoutConstraint timeoutConstraint)
Description copied from interface:TimeoutConstrainedURLHandlerReturns theURLHandler.URLInfoextracted from the given url, orURLHandler.UNAVAILABLEwhen the url is not reachable. Never returns null.- Specified by:
getURLInfoin interfaceTimeoutConstrainedURLHandler- Parameters:
url- The URL for which the information is to be retrievedtimeoutConstraint- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Returns:
- URLInfo
-
getCharSetFromContentType
public static java.lang.String getCharSetFromContentType(java.lang.String contentType)
Extract the charset from the Content-Type header string, or default to ISO-8859-1 as per rfc2616-sec3.html#sec3.7.1 .- Parameters:
contentType- the Content-Type header string- Returns:
- the charset as specified in the content type, or ISO-8859-1 if unspecified.
-
openStream
public java.io.InputStream openStream(java.net.URL url) throws java.io.IOException- Specified by:
openStreamin interfaceURLHandler- 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.IOExceptionDescription copied from interface:TimeoutConstrainedURLHandlerOpens and returns anInputStreamto the passedurl.- Specified by:
openStreamin interfaceTimeoutConstrainedURLHandler- Parameters:
url- The URL to which anInputStreamhas to be openedtimeoutConstraint- 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:
downloadin interfaceURLHandler- Parameters:
src- URLdest- Filel- 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.IOExceptionDescription copied from interface:TimeoutConstrainedURLHandlerDownloads the resource available atsrcto the targetdest- Specified by:
downloadin interfaceTimeoutConstrainedURLHandler- Parameters:
src- The source URL to download the resource fromdest- The destinationFileto download the resource tolistener- The listener that will be notified of the download progresstimeoutConstraint- 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 source, java.net.URL dest, CopyProgressListener l) throws java.io.IOException- Specified by:
uploadin interfaceURLHandler- Parameters:
source- Filedest- URLl- 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.IOExceptionDescription copied from interface:TimeoutConstrainedURLHandlerUploads thesrcFileto the targetdestURL- Specified by:
uploadin interfaceTimeoutConstrainedURLHandler- Parameters:
src- The sourceFileto uploaddest- The target URL where theFilehas to be uploadedlistener- The listener that will be notified of the upload progresstimeoutConstraint- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Throws:
java.io.IOException- if something goes wrong
-
-