public abstract class Resource extends Object implements ResourceFactory, Closeable
This class provides a resource abstraction, where a resource may be a file, a URL or an entry in a jar file.
Modifier and Type | Field and Description |
---|---|
static boolean |
__defaultUseCaches |
Constructor and Description |
---|
Resource() |
Modifier and Type | Method and Description |
---|---|
abstract Resource |
addPath(String path)
Returns the resource contained inside the current resource with the
given name.
|
abstract void |
close()
Release any temporary resources held by the resource.
|
void |
copyTo(File destination)
Copy the Resource to the new destination file.
|
abstract boolean |
delete()
Deletes the given resource
|
String |
encode(String uri)
Deprecated.
use
URIUtil or UrlEncoded instead |
abstract boolean |
exists() |
URI |
getAlias() |
Collection<Resource> |
getAllResources() |
Object |
getAssociate() |
static boolean |
getDefaultUseCaches() |
abstract File |
getFile()
File representing the given resource.
|
abstract InputStream |
getInputStream()
Input stream to the resource
|
String |
getListHTML(String base,
boolean parent)
Deprecated.
use
getListHTML(String, boolean, String) instead and supply raw query string. |
String |
getListHTML(String base,
boolean parent,
String query)
Get the resource list as a HTML directory listing.
|
abstract String |
getName()
The name of the resource.
|
abstract ReadableByteChannel |
getReadableByteChannel()
Readable ByteChannel for the resource.
|
Resource |
getResource(String path)
Get a resource from within this resource.
|
URI |
getURI()
URI representing the resource.
|
abstract URL |
getURL()
Deprecated.
use {
getURI() .toURL() instead. |
String |
getWeakETag()
Generate a weak ETag reference for this Resource.
|
String |
getWeakETag(String suffix) |
boolean |
isAlias() |
abstract boolean |
isContainedIn(Resource r) |
static boolean |
isContainedIn(Resource r,
Resource containingResource) |
abstract boolean |
isDirectory() |
abstract long |
lastModified()
Time resource was last modified.
|
abstract long |
length()
Length of the resource.
|
abstract String[] |
list()
list of resource names contained in the given resource.
|
static Resource |
newClassPathResource(String resource)
Find a classpath resource.
|
static Resource |
newClassPathResource(String name,
boolean useCaches,
boolean checkParents)
Find a classpath resource.
|
static Resource |
newResource(File file) |
static Resource |
newResource(Path path)
Construct a Resource from provided path
|
static Resource |
newResource(String resource)
Construct a resource from a string.
|
static Resource |
newResource(String resource,
boolean useCaches)
Construct a resource from a string.
|
static Resource |
newResource(URI uri)
Construct a resource from a uri.
|
static Resource |
newResource(URL url)
Construct a resource from a url.
|
static Resource |
newSystemResource(String resource)
Construct a system resource from a string.
|
void |
release()
Deprecated.
use
close() |
abstract boolean |
renameTo(Resource dest)
Rename the given resource
|
void |
setAssociate(Object o) |
static void |
setDefaultUseCaches(boolean useCaches)
Change the default setting for url connection caches.
|
static URL |
toURL(File file)
Generate a properly encoded URL from a
File instance. |
void |
writeTo(OutputStream out,
long start,
long count) |
public static void setDefaultUseCaches(boolean useCaches)
useCaches
- true to enable URL connection caches, false otherwise.public static boolean getDefaultUseCaches()
public static Resource newResource(URI uri) throws MalformedURLException
uri
- A URI.MalformedURLException
- Problem accessing URIpublic static Resource newResource(URL url)
url
- A URL.public static Resource newResource(String resource) throws IOException
resource
- A URL or filename.MalformedURLException
- Problem accessing URIIOException
public static Resource newResource(String resource, boolean useCaches) throws IOException
resource
- A URL or filename.useCaches
- controls URLConnection cachingMalformedURLException
- Problem accessing URIIOException
public static Resource newResource(Path path)
path
- the pathpublic static Resource newSystemResource(String resource) throws IOException
resource
- Resource as string representationIOException
- Problem accessing resource.public static Resource newClassPathResource(String resource)
resource
- the relative name of the resourcepublic static Resource newClassPathResource(String name, boolean useCaches, boolean checkParents)
Class.getResource(String)
method is used to lookup the resource. If it is not
found, then the Loader.getResource(String)
method is used.
If it is still not found, then ClassLoader.getSystemResource(String)
is used.
Unlike ClassLoader.getSystemResource(String)
this method does not check for normal resources.name
- The relative name of the resourceuseCaches
- True if URL caches are to be used.checkParents
- True if forced searching of parent Classloaders is performed to work around
loaders with inverted prioritiespublic static boolean isContainedIn(Resource r, Resource containingResource) throws MalformedURLException
MalformedURLException
public abstract boolean isContainedIn(Resource r) throws MalformedURLException
MalformedURLException
public final void release()
close()
public abstract void close()
close
in interface Closeable
close
in interface AutoCloseable
public abstract boolean exists()
public abstract boolean isDirectory()
public abstract long lastModified()
public abstract long length()
@Deprecated public abstract URL getURL()
getURI()
.toURL() instead.public URI getURI()
public abstract File getFile() throws IOException
IOException
- if unable to get the resource due to permissionspublic abstract String getName()
public abstract InputStream getInputStream() throws IOException
IOException
- if unable to open the input streampublic abstract ReadableByteChannel getReadableByteChannel() throws IOException
IOException
- if unable to open the readable bytechannel for the resource.public abstract boolean delete() throws SecurityException
SecurityException
- if unable to delete due to permissionspublic abstract boolean renameTo(Resource dest) throws SecurityException
dest
- the destination name for the resourceSecurityException
- if unable to rename due to permissionspublic abstract String[] list()
public abstract Resource addPath(String path) throws IOException, MalformedURLException
path
- The path segment to add, which is not encodedIOException
- if unable to resolve the pathMalformedURLException
- if the resolution of the path fails because the input path parameter is malformed.public Resource getResource(String path)
This method is essentially an alias for addPath(String)
, but without checked exceptions.
This method satisfied the ResourceFactory
interface.
getResource
in interface ResourceFactory
path
- The path to the resourceResourceFactory.getResource(java.lang.String)
@Deprecated public String encode(String uri)
URIUtil
or UrlEncoded
insteaduri
- the uri to encodepublic Object getAssociate()
public void setAssociate(Object o)
public boolean isAlias()
public URI getAlias()
@Deprecated public String getListHTML(String base, boolean parent) throws IOException
getListHTML(String, boolean, String)
instead and supply raw query string.base
- The base URLparent
- True if the parent directory should be includedIOException
- if unable to get the list of resources as HTMLpublic String getListHTML(String base, boolean parent, String query) throws IOException
base
- The base URLparent
- True if the parent directory should be includedquery
- query paramsIOException
public void writeTo(OutputStream out, long start, long count) throws IOException
out
- the output stream to write tostart
- First byte to writecount
- Bytes to write or -1 for all of them.IOException
- if unable to copy the Resource to the outputpublic void copyTo(File destination) throws IOException
Will not replace existing destination file.
destination
- the destination file to createIOException
- if unable to copy the resourcepublic String getWeakETag()
public Collection<Resource> getAllResources()
public static URL toURL(File file) throws MalformedURLException
File
instance.file
- Target file.MalformedURLException
- if unable to convert File to URLCopyright © 2010 - 2020 Adobe. All Rights Reserved