Class ResourceCollection

java.lang.Object
org.eclipse.jetty.util.resource.Resource
org.eclipse.jetty.util.resource.ResourceCollection
All Implemented Interfaces:
Closeable, 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.
  • Constructor Details

    • 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(Collection<Resource> resources)
      Instantiates a new resource collection.
      Parameters:
      resources - the resources to be added to collection
    • ResourceCollection

      public ResourceCollection(String[] resources)
      Instantiates a new resource collection.
      Parameters:
      resources - the resource strings to be added to collection
    • ResourceCollection

      public ResourceCollection(String csvResources) throws IOException
      Instantiates a new resource collection.
      Parameters:
      csvResources - the string containing comma-separated resource strings
      Throws:
      IOException - if any listed resource is not valid
  • Method Details

    • getResources

      public List<Resource> getResources()
      Retrieves the resource collection's resources.
      Returns:
      the resource collection
    • setResources

      public void setResources(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(String resources) throws IOException
      Sets 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:
      IOException - if unable resource declared is not valid
      See Also:
    • addPath

      public Resource addPath(String path) throws IOException
      Add a path to the resource collection.
      Specified by:
      addPath in class Resource
      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:
      MalformedURLException - if the resolution of the path fails because the input path parameter is malformed against any of the collection
      IOException - if unable to resolve the path
    • delete

      public boolean delete() throws SecurityException
      Description copied from class: Resource
      Deletes the given resource
      Specified by:
      delete in class Resource
      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()
      Specified by:
      exists in class Resource
      Returns:
      true if the represented resource exists.
    • getFile

      public File getFile() throws IOException
      Description copied from class: Resource
      File representing the given resource.
      Specified by:
      getFile in class Resource
      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
      Description copied from class: Resource
      Input stream to the resource
      Specified by:
      getInputStream in class Resource
      Returns:
      an input stream to the resource
      Throws:
      IOException - if unable to open the input stream
    • getReadableByteChannel

      public ReadableByteChannel getReadableByteChannel() throws IOException
      Description copied from class: Resource
      Readable ByteChannel for the resource.
      Specified by:
      getReadableByteChannel in class Resource
      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.
    • getName

      public String getName()
      Description copied from class: Resource
      The name of the resource.
      Specified by:
      getName in class Resource
      Returns:
      the name of the resource
    • getURI

      public URI getURI()
      Description copied from class: Resource
      URI representing the resource.
      Specified by:
      getURI in class Resource
      Returns:
      an URI representing the given resource
    • isDirectory

      public boolean isDirectory()
      Specified by:
      isDirectory in class Resource
      Returns:
      true if the represented resource is a container/directory.
    • lastModified

      public long lastModified()
      Description copied from class: Resource
      Time resource was last modified.
      Specified by:
      lastModified in class Resource
      Returns:
      the last modified time as milliseconds since unix epoch
    • length

      public long length()
      Description copied from class: Resource
      Length of the resource.
      Specified by:
      length in class Resource
      Returns:
      the length of the resource
    • list

      public String[] list()
      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.
      Specified by:
      list in class Resource
      Returns:
      The list of resource names(merged) contained in the collection of resources.
    • close

      public void close()
      Description copied from class: Resource
      Release any temporary resources held by the resource.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class Resource
    • renameTo

      public boolean renameTo(Resource dest) throws SecurityException
      Description copied from class: Resource
      Rename the given resource
      Specified by:
      renameTo in class Resource
      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
      Description copied from class: Resource
      Copy the Resource to the new destination file.

      Will not replace existing destination file.

      Overrides:
      copyTo in class Resource
      Parameters:
      destination - the destination file to create
      Throws:
      IOException - if unable to copy the resource
    • toString

      public String toString()
      Overrides:
      toString in class Object
      Returns:
      the list of resources separated by a path separator
    • isContainedIn

      public boolean isContainedIn(Resource r)
      Specified by:
      isContainedIn in class Resource