public class UrlResource extends AbstractFileResolvingResource
Resource
implementation for java.net.URL
locators.
Supports resolution as a URL
and also as a File
in
case of the "file:"
protocol.URL
Constructor and Description |
---|
UrlResource(String path)
Create a new
UrlResource based on a URL path. |
UrlResource(String protocol,
String location)
Create a new
UrlResource based on a URI specification. |
UrlResource(String protocol,
String location,
String fragment)
Create a new
UrlResource based on a URI specification. |
UrlResource(URI uri)
Create a new
UrlResource based on the given URI object. |
UrlResource(URL url)
Create a new
UrlResource based on the given URL object. |
Modifier and Type | Method and Description |
---|---|
Resource |
createRelative(String relativePath)
This implementation creates a
UrlResource , applying the given path
relative to the path of the underlying URL of this resource descriptor. |
boolean |
equals(Object obj)
This implementation compares the underlying URL references.
|
String |
getDescription()
This implementation returns a description that includes the URL.
|
File |
getFile()
This implementation returns a File reference for the underlying URL/URI,
provided that it refers to a file in the file system.
|
String |
getFilename()
This implementation returns the name of the file that this URL refers to.
|
InputStream |
getInputStream()
This implementation opens an InputStream for the given URL.
|
URI |
getURI()
This implementation returns the underlying URI directly,
if possible.
|
URL |
getURL()
This implementation returns the underlying URL reference.
|
int |
hashCode()
This implementation returns the hash code of the underlying URL reference.
|
contentLength, customizeConnection, customizeConnection, exists, getFile, getFileForLastModifiedCheck, isReadable, lastModified
isOpen, toString
public UrlResource(URI uri) throws MalformedURLException
UrlResource
based on the given URI object.uri
- a URIMalformedURLException
- if the given URL path is not validpublic UrlResource(URL url)
UrlResource
based on the given URL object.url
- a URLpublic UrlResource(String path) throws MalformedURLException
UrlResource
based on a URL path.
Note: The given path needs to be pre-encoded if necessary.
path
- a URL pathMalformedURLException
- if the given URL path is not validURL.URL(String)
public UrlResource(String protocol, String location) throws MalformedURLException
UrlResource
based on a URI specification.
The given parts will automatically get encoded if necessary.
protocol
- the URL protocol to use (e.g. "jar" or "file" - without colon);
also known as "scheme"location
- the location (e.g. the file path within that protocol);
also known as "scheme-specific part"MalformedURLException
- if the given URL specification is not validURI.URI(String, String, String)
public UrlResource(String protocol, String location, String fragment) throws MalformedURLException
UrlResource
based on a URI specification.
The given parts will automatically get encoded if necessary.
protocol
- the URL protocol to use (e.g. "jar" or "file" - without colon);
also known as "scheme"location
- the location (e.g. the file path within that protocol);
also known as "scheme-specific part"fragment
- the fragment within that location (e.g. anchor on an HTML page,
as following after a "#" separator)MalformedURLException
- if the given URL specification is not validURI.URI(String, String, String)
public InputStream getInputStream() throws IOException
It sets the useCaches
flag to false
,
mainly to avoid jar file locking on Windows.
null
)IOException
- if the stream could not be openedURL.openConnection()
,
URLConnection.setUseCaches(boolean)
,
URLConnection.getInputStream()
public URL getURL() throws IOException
getURL
in interface Resource
getURL
in class AbstractResource
IOException
- if the resource cannot be resolved as URL,
i.e. if the resource is not available as descriptorpublic URI getURI() throws IOException
getURI
in interface Resource
getURI
in class AbstractResource
IOException
- if the resource cannot be resolved as URI,
i.e. if the resource is not available as descriptorpublic File getFile() throws IOException
getFile
in interface Resource
getFile
in class AbstractFileResolvingResource
IOException
- if the resource cannot be resolved as absolute
file path, i.e. if the resource is not available in a file systemResourceUtils.getFile(java.net.URL, String)
public Resource createRelative(String relativePath) throws MalformedURLException
UrlResource
, applying the given path
relative to the path of the underlying URL of this resource descriptor.createRelative
in interface Resource
createRelative
in class AbstractResource
relativePath
- the relative path (relative to this resource)MalformedURLException
URL.URL(java.net.URL, String)
public String getFilename()
getFilename
in interface Resource
getFilename
in class AbstractResource
URL.getFile()
,
File.getName()
public String getDescription()
Object.toString()
public boolean equals(Object obj)
equals
in class AbstractResource
Resource.getDescription()
public int hashCode()
hashCode
in class AbstractResource
Resource.getDescription()