Package net.sf.saxon.resource
Class ResourceLoader
- java.lang.Object
-
- net.sf.saxon.resource.ResourceLoader
-
public class ResourceLoader extends java.lang.Object
The class provides a static method for loading resources from a URL. This method follows HTTP 301 and 302 redirects.
-
-
Field Summary
Fields Modifier and Type Field Description static int
MAX_REDIRECTS
The maximum number of redirects to follow before throwing an IOException.
-
Constructor Summary
Constructors Constructor Description ResourceLoader()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.io.BufferedReader
getReaderFromStream(java.io.InputStream inputStream, java.lang.String resourceEncoding)
static java.net.URLConnection
urlConnection(java.net.URL url)
Open a URLConnection to the resource identified by the URI.static java.io.Reader
urlReader(java.net.URL url, java.lang.String requestedEncoding)
Open a reader to retrieve the content identified by the URI.static java.io.InputStream
urlStream(java.net.URL url)
Open a stream to retrieve the content identified by the URI.
-
-
-
Method Detail
-
urlConnection
public static java.net.URLConnection urlConnection(java.net.URL url) throws java.io.IOException
Open a URLConnection to the resource identified by the URI. For HTTP URIs, this method will follow up to MAX_REDIRECTS redirects or until it detects a loop; the connection returned in this case is to the first resource that did not return a 301 or 302 response code.- Parameters:
url
- The URL to retrieve.- Returns:
- An InputStream for the resource content.
- Throws:
java.io.IOException
- If more than MAX_REDIRECTS are occur or if a loop is detected.
-
urlStream
public static java.io.InputStream urlStream(java.net.URL url) throws java.io.IOException
Open a stream to retrieve the content identified by the URI. For HTTP URIs, this method will follow up to MAX_REDIRECTS redirects or until it detects a loop. This method automatically accepts and decompresses gzip encoded responses.- Parameters:
url
- The URL to retrieve.- Returns:
- An InputStream for the resource content.
- Throws:
java.io.IOException
- If more than MAX_REDIRECTS are occur or if a loop is detected.
-
urlReader
public static java.io.Reader urlReader(java.net.URL url, java.lang.String requestedEncoding) throws java.io.IOException
Open a reader to retrieve the content identified by the URI. This handles HTTP redirects in the same way asurlStream(URL)
, but then it also wraps the stream in a Reader, using the logic prescribed for thefn:unparsed-text
function.- Parameters:
url
- The URL to retrieve.requestedEncoding
- The requested encoding. This is used only as a fallback, following the rules of thefn:unparsed-text
specification- Returns:
- A Reader for the resource content.
- Throws:
java.io.IOException
- If more than MAX_REDIRECTS are occur or if a loop is detected.
-
getReaderFromStream
public static java.io.BufferedReader getReaderFromStream(java.io.InputStream inputStream, java.lang.String resourceEncoding) throws java.io.UnsupportedEncodingException
- Throws:
java.io.UnsupportedEncodingException
-
-