- java.lang.Object
-
- org.eclipse.jetty.util.resource.Resource
-
- org.eclipse.jetty.util.resource.ResourceCollection
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,ResourceFactory
public class ResourceCollection extends Resource
A collection of resources (dirs). Allows webapps to have multiple (static) sources. The first resource in the collection is the main resource. If a resource is not found in the main resource, it looks it up in the order the resources were constructed.
-
-
Field Summary
-
Fields inherited from class org.eclipse.jetty.util.resource.Resource
__defaultUseCaches
-
-
Constructor Summary
Constructors Constructor Description ResourceCollection()Instantiates an empty resource collection.ResourceCollection(java.lang.String csvResources)Instantiates a new resource collection.ResourceCollection(java.lang.String[] resources)Instantiates a new resource collection.ResourceCollection(java.util.Collection<Resource> resources)Instantiates a new resource collection.ResourceCollection(Resource... resources)Instantiates a new resource collection.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ResourceaddPath(java.lang.String path)Add a path to the resource collection.voidclose()Release any temporary resources held by the resource.voidcopyTo(java.io.File destination)Copy the Resource to the new destination file.booleandelete()Deletes the given resourcebooleanexists()java.io.FilegetFile()File representing the given resource.java.io.InputStreamgetInputStream()Input stream to the resourcejava.lang.StringgetName()The name of the resource.java.nio.channels.ReadableByteChannelgetReadableByteChannel()Readable ByteChannel for the resource.java.util.List<Resource>getResources()Retrieves the resource collection's resources.java.net.URIgetURI()URI representing the resource.booleanisContainedIn(Resource r)booleanisDirectory()longlastModified()Time resource was last modified.longlength()Length of the resource.java.lang.String[]list()list of resource names contained in the given resource.booleanrenameTo(Resource dest)Rename the given resourcevoidsetResources(java.lang.String resources)Sets the resources as string of comma-separated values.voidsetResources(java.util.List<Resource> res)Sets the resource collection's resources.voidsetResources(Resource[] resources)Sets the resource collection's resources.java.lang.StringtoString()-
Methods inherited from class org.eclipse.jetty.util.resource.Resource
fromList, fromList, getAlias, getAllResources, getAssociate, getDefaultUseCaches, getListHTML, getResource, getWeakETag, getWeakETag, isAlias, isContainedIn, isSame, newClassPathResource, newClassPathResource, newResource, newResource, newResource, newResource, newResource, newResource, newSystemResource, setAssociate, setDefaultUseCaches, toURL
-
-
-
-
Constructor Detail
-
ResourceCollection
public ResourceCollection()
Instantiates an empty resource collection.This constructor is used when configuring jetty-maven-plugin.
-
ResourceCollection
public ResourceCollection(Resource... resources)
Instantiates a new resource collection.- Parameters:
resources- the resources to be added to collection
-
ResourceCollection
public ResourceCollection(java.util.Collection<Resource> resources)
Instantiates a new resource collection.- Parameters:
resources- the resources to be added to collection
-
ResourceCollection
public ResourceCollection(java.lang.String[] resources)
Instantiates a new resource collection.- Parameters:
resources- the resource strings to be added to collection
-
ResourceCollection
public ResourceCollection(java.lang.String csvResources) throws java.io.IOExceptionInstantiates a new resource collection.- Parameters:
csvResources- the string containing comma-separated resource strings- Throws:
java.io.IOException- if any listed resource is not valid
-
-
Method Detail
-
getResources
public java.util.List<Resource> getResources()
Retrieves the resource collection's resources.- Returns:
- the resource collection
-
setResources
public void setResources(java.util.List<Resource> res)
Sets the resource collection's resources.- Parameters:
res- the resources to set
-
setResources
public void setResources(Resource[] resources)
Sets the resource collection's resources.- Parameters:
resources- the new resource array
-
setResources
public void setResources(java.lang.String resources) throws java.io.IOExceptionSets the resources as string of comma-separated values. This method should be used when configuring jetty-maven-plugin.- Parameters:
resources- the comma-separated string containing one or more resource strings.- Throws:
java.io.IOException- if unable resource declared is not valid- See Also:
Resource.fromList(String, boolean)
-
addPath
public Resource addPath(java.lang.String path) throws java.io.IOException
Add a path to the resource collection.- Specified by:
addPathin classResource- Parameters:
path- The path segment to add- Returns:
- The resulting resource(s) :
- is a file that exists in at least one of the collection, then the first one found is returned
- is a directory that exists in at exactly one of the collection, then that directory resource is returned
- is a directory that exists in several of the collection, then a ResourceCollection of those directories is returned
- do not exist in any of the collection, then a new non existent resource relative to the first in the collection is returned.
- Throws:
java.net.MalformedURLException- if the resolution of the path fails because the input path parameter is malformed against any of the collectionjava.io.IOException- if unable to resolve the path
-
delete
public boolean delete() throws java.lang.SecurityExceptionDescription copied from class:ResourceDeletes the given resource
-
exists
public boolean exists()
-
getFile
public java.io.File getFile() throws java.io.IOExceptionDescription copied from class:ResourceFile representing the given resource.
-
getInputStream
public java.io.InputStream getInputStream() throws java.io.IOExceptionDescription copied from class:ResourceInput stream to the resource- Specified by:
getInputStreamin classResource- Returns:
- an input stream to the resource
- Throws:
java.io.IOException- if unable to open the input stream
-
getReadableByteChannel
public java.nio.channels.ReadableByteChannel getReadableByteChannel() throws java.io.IOExceptionDescription copied from class:ResourceReadable ByteChannel for the resource.- Specified by:
getReadableByteChannelin classResource- Returns:
- an readable bytechannel to the resource or null if one is not available.
- Throws:
java.io.IOException- if unable to open the readable bytechannel for the resource.
-
getName
public java.lang.String getName()
Description copied from class:ResourceThe name of the resource.
-
getURI
public java.net.URI getURI()
Description copied from class:ResourceURI representing the resource.
-
isDirectory
public boolean isDirectory()
- Specified by:
isDirectoryin classResource- Returns:
- true if the represented resource is a container/directory.
-
lastModified
public long lastModified()
Description copied from class:ResourceTime resource was last modified.- Specified by:
lastModifiedin classResource- Returns:
- the last modified time as milliseconds since unix epoch
-
length
public long length()
Description copied from class:ResourceLength of the resource.
-
list
public java.lang.String[] list()
Description copied from class:Resourcelist of resource names contained in the given resource. Ordering is unspecified, so callers may wish to sort the return value to ensure deterministic behavior.
-
close
public void close()
Description copied from class:ResourceRelease any temporary resources held by the resource.
-
renameTo
public boolean renameTo(Resource dest) throws java.lang.SecurityException
Description copied from class:ResourceRename the given resource
-
copyTo
public void copyTo(java.io.File destination) throws java.io.IOExceptionDescription copied from class:ResourceCopy the Resource to the new destination file.Will not replace existing destination file.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object- Returns:
- the list of resources separated by a path separator
-
isContainedIn
public boolean isContainedIn(Resource r)
- Specified by:
isContainedInin classResource
-
-