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.
  • Field Details

    • _resources

      private Resource[] _resources
  • 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(String[] resources)
      Instantiates a new resource collection.
      Parameters:
      resources - the resource strings to be added to collection
    • ResourceCollection

      public ResourceCollection(String csvResources)
      Instantiates a new resource collection.
      Parameters:
      csvResources - the string containing comma-separated resource strings
  • Method Details

    • getResources

      public Resource[] getResources()
      Retrieves the resource collection's resources.
      Returns:
      the resource array
    • setResources

      public void setResources(Resource[] resources)
      Sets the resource collection's resources.
      Parameters:
      resources - the new resource array
    • setResourcesAsCSV

      public void setResourcesAsCSV(String csvResources)
      Sets the resources as string of comma-separated values. This method should be used when configuring jetty-maven-plugin.
      Parameters:
      csvResources - the comma-separated string containing one or more resource strings.
    • addPath

      public Resource addPath(String path) throws IOException
      Description copied from class: Resource
      Returns the resource contained inside the current resource with the given name.
      Specified by:
      addPath in class Resource
      Parameters:
      path - The path segment to add
      Returns:
      The contained resource (found first) in the collection of resources
      Throws:
      IOException - if unable to resolve the path
      MalformedURLException - if the resolution of the path fails because the input path parameter is malformed.
    • 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
    • getURL

      public URL getURL()
      Description copied from class: Resource
      URL representing the resource.
      Specified by:
      getURL in class Resource
      Returns:
      a URL representing the given resource
    • isDirectory

      public boolean isDirectory()
      Specified by:
      isDirectory in class Resource
      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()
      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
    • assertResourcesSet

      private void assertResourcesSet()
    • assertResourceValid

      private void assertResourceValid(Resource resource)