Class PathResource
- java.lang.Object
-
- org.eclipse.jetty.util.resource.Resource
-
- org.eclipse.jetty.util.resource.PathResource
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,ResourceFactory
@Deprecated(since="2021-05-27") public class PathResource extends Resource
Deprecated.The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.Java NIO Path equivalent of FileResource.
-
-
Field Summary
-
Fields inherited from class org.eclipse.jetty.util.resource.Resource
__defaultUseCaches
-
-
Constructor Summary
Constructors Constructor Description PathResource(File file)
Deprecated.Construct a new PathResource from a File object.PathResource(URI uri)
Deprecated.Construct a new PathResource from a URI object.PathResource(URL url)
Deprecated.Create a new PathResource from a provided URL object.PathResource(Path path)
Deprecated.Construct a new PathResource from a Path object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Resource
addPath(String subPath)
Deprecated.Returns the resource contained inside the current resource with the given name.void
close()
Deprecated.Release any temporary resources held by the resource.void
copyTo(File destination)
Deprecated.Copy the Resource to the new destination file.boolean
delete()
Deprecated.Deletes the given resourceboolean
equals(Object obj)
Deprecated.boolean
exists()
Deprecated.URI
getAlias()
Deprecated.Path
getAliasPath()
Deprecated.The Alias as a Path.File
getFile()
Deprecated.File representing the given resource.InputStream
getInputStream()
Deprecated.Input stream to the resourceString
getName()
Deprecated.The name of the resource.Path
getPath()
Deprecated.ReadableByteChannel
getReadableByteChannel()
Deprecated.Readable ByteChannel for the resource.URI
getURI()
Deprecated.URI representing the resource.URL
getURL()
Deprecated.URL representing the resource.int
hashCode()
Deprecated.boolean
isAlias()
Deprecated.boolean
isContainedIn(Resource r)
Deprecated.boolean
isDirectory()
Deprecated.boolean
isSame(Resource resource)
Deprecated.Return true if the passed Resource represents the same resource as the Resource.static boolean
isSameName(Path pathA, Path pathB)
Deprecated.Test if the paths are the same name.long
lastModified()
Deprecated.Time resource was last modified.long
length()
Deprecated.Length of the resource.String[]
list()
Deprecated.list of resource names contained in the given resource.SeekableByteChannel
newSeekableByteChannel()
Deprecated.boolean
renameTo(Resource dest)
Deprecated.Rename the given resourceString
toString()
Deprecated.void
writeTo(OutputStream outputStream, long start, long count)
Deprecated.-
Methods inherited from class org.eclipse.jetty.util.resource.Resource
encode, getAllResources, getAssociate, getDefaultUseCaches, getListHTML, getListHTML, getResource, getWeakETag, getWeakETag, isContainedIn, newClassPathResource, newClassPathResource, newResource, newResource, newResource, newResource, newResource, newResource, newSystemResource, release, setAssociate, setDefaultUseCaches, toURL
-
-
-
-
Constructor Detail
-
PathResource
public PathResource(File file)
Deprecated.Construct a new PathResource from a File object.An invocation of this convenience constructor of the form.
new PathResource(file);
behaves in exactly the same way as the expression
new PathResource(file.toPath());
- Parameters:
file
- the file to use
-
PathResource
public PathResource(Path path)
Deprecated.Construct a new PathResource from a Path object.- Parameters:
path
- the path to use
-
PathResource
public PathResource(URI uri) throws IOException
Deprecated.Construct a new PathResource from a URI object.Must be an absolute URI using the
file
scheme.- Parameters:
uri
- the URI to build this PathResource from.- Throws:
IOException
- if unable to construct the PathResource from the URI.
-
PathResource
public PathResource(URL url) throws IOException, URISyntaxException
Deprecated.Create a new PathResource from a provided URL object.An invocation of this convenience constructor of the form.
new PathResource(url);
behaves in exactly the same way as the expression
new PathResource(url.toURI());
- Parameters:
url
- the url to attempt to create PathResource from- Throws:
IOException
- if URL doesn't point to a location that can be transformed to a PathResourceURISyntaxException
- if the provided URL was malformed
-
-
Method Detail
-
isSameName
public static boolean isSameName(Path pathA, Path pathB)
Deprecated.Test if the paths are the same name.If the real path is not the same as the absolute path then we know that the real path is the alias for the provided path.
For OS's that are case insensitive, this should return the real (on-disk / case correct) version of the path.
We have to be careful on Windows and OSX.
Assume we have the following scenario:
Path a = new File("foo").toPath(); Files.createFile(a); Path b = new File("FOO").toPath();
There now exists a file called
foo
on disk. Using Windows or OSX, with a Path reference ofFOO
,Foo
,fOO
, etc.. means the following| OSX | Windows | Linux -----------------------+---------+------------+--------- Files.exists(a) | True | True | True Files.exists(b) | True | True | False Files.isSameFile(a,b) | True | True | False a.equals(b) | False | True | False
See the javadoc for Path.equals() for details about this FileSystem behavior difference
We also cannot rely on a.compareTo(b) as this is roughly equivalent in implementation to a.equals(b)
-
isSame
public boolean isSame(Resource resource)
Deprecated.Description copied from class:Resource
Return true if the passed Resource represents the same resource as the Resource. For many resource types, this is equivalent toObject.equals(Object)
, however for resources types that support aliasing, this maybe some other check (e.g.Files.isSameFile(Path, Path)
).
-
addPath
public Resource addPath(String subPath) throws IOException
Deprecated.Description copied from class:Resource
Returns the resource contained inside the current resource with the given name.- Specified by:
addPath
in classResource
- Parameters:
subPath
- The path segment to add, which is not encoded. The path may be non canonical, but if so then the resulting Resource will return true fromResource.isAlias()
.- Returns:
- the Resource for the resolved path within this Resource.
- Throws:
IOException
- if unable to resolve the pathMalformedURLException
- if the resolution of the path fails because the input path parameter is malformed, or a relative path attempts to access above the root resource.
-
close
public void close()
Deprecated.Description copied from class:Resource
Release any temporary resources held by the resource.
-
delete
public boolean delete() throws SecurityException
Deprecated.Description copied from class:Resource
Deletes the given resource- Specified by:
delete
in classResource
- Returns:
- true if resource was found and successfully deleted, false if resource didn't exist or was unable to be deleted.
- Throws:
SecurityException
- if unable to delete due to permissions
-
exists
public boolean exists()
Deprecated.
-
getFile
public File getFile() throws IOException
Deprecated.Description copied from class:Resource
File representing the given resource.- Specified by:
getFile
in classResource
- Returns:
- an File representing the given resource or NULL if this is not possible.
- Throws:
IOException
- if unable to get the resource due to permissions
-
getInputStream
public InputStream getInputStream() throws IOException
Deprecated.Description copied from class:Resource
Input stream to the resource- Specified by:
getInputStream
in classResource
- Returns:
- an input stream to the resource
- Throws:
IOException
- if unable to open the input stream
-
getName
public String getName()
Deprecated.Description copied from class:Resource
The name of the resource.
-
getReadableByteChannel
public ReadableByteChannel getReadableByteChannel() throws IOException
Deprecated.Description copied from class:Resource
Readable ByteChannel for the resource.- Specified by:
getReadableByteChannel
in classResource
- Returns:
- an readable bytechannel to the resource or null if one is not available.
- Throws:
IOException
- if unable to open the readable bytechannel for the resource.
-
newSeekableByteChannel
public SeekableByteChannel newSeekableByteChannel() throws IOException
Deprecated.- Throws:
IOException
-
getURI
public URI getURI()
Deprecated.Description copied from class:Resource
URI representing the resource.
-
getURL
public URL getURL()
Deprecated.Description copied from class:Resource
URL representing the resource.
-
isContainedIn
public boolean isContainedIn(Resource r) throws MalformedURLException
Deprecated.- Specified by:
isContainedIn
in classResource
- Throws:
MalformedURLException
-
isDirectory
public boolean isDirectory()
Deprecated.- Specified by:
isDirectory
in classResource
- Returns:
- true if the represented resource is a container/directory. if the resource is not a file, resources ending with "/" are considered directories.
-
lastModified
public long lastModified()
Deprecated.Description copied from class:Resource
Time resource was last modified.- Specified by:
lastModified
in classResource
- Returns:
- the last modified time as milliseconds since unix epoch
-
length
public long length()
Deprecated.Description copied from class:Resource
Length of the resource.
-
isAlias
public boolean isAlias()
Deprecated.
-
getAliasPath
public Path getAliasPath()
Deprecated.The Alias as a Path.Note: this cannot return the alias as a DIFFERENT path in 100% of situations, due to Java's internal Path/File normalization.
- Returns:
- the alias as a path.
-
getAlias
public URI getAlias()
Deprecated.
-
list
public String[] list()
Deprecated.Description copied from class:Resource
list of resource names contained in the given resource. Ordering is unspecified, so callers may wish to sort the return value to ensure deterministic behavior.
-
renameTo
public boolean renameTo(Resource dest) throws SecurityException
Deprecated.Description copied from class:Resource
Rename the given resource- Specified by:
renameTo
in classResource
- Parameters:
dest
- the destination name for the resource- Returns:
- true if the resource was renamed, false if the resource didn't exist or was unable to be renamed.
- Throws:
SecurityException
- if unable to rename due to permissions
-
copyTo
public void copyTo(File destination) throws IOException
Deprecated.Description copied from class:Resource
Copy the Resource to the new destination file.Will not replace existing destination file.
- Overrides:
copyTo
in classResource
- Parameters:
destination
- the destination file to create- Throws:
IOException
- if unable to copy the resource
-
writeTo
public void writeTo(OutputStream outputStream, long start, long count) throws IOException
Deprecated.- Overrides:
writeTo
in classResource
- Parameters:
outputStream
- the output stream to write tostart
- First byte to writecount
- Bytes to write or -1 for all of them.- Throws:
IOException
- if unable to copy the Resource to the output
-
-