Class 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.
    • 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.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)
        Instantiates a new resource collection.
        Parameters:
        csvResources - the string containing comma-separated resource strings
    • Method Detail

      • 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​(java.lang.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​(java.lang.String path)
                         throws java.io.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:
        java.io.IOException - if unable to resolve the path
        java.net.MalformedURLException - 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.
      • delete

        public boolean delete()
                       throws java.lang.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:
        java.lang.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 java.io.File getFile()
                             throws java.io.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:
        java.io.IOException - if unable to get the resource due to permissions
      • getInputStream

        public java.io.InputStream getInputStream()
                                           throws java.io.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:
        java.io.IOException - if unable to open the input stream
      • getReadableByteChannel

        public java.nio.channels.ReadableByteChannel getReadableByteChannel()
                                                                     throws java.io.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:
        java.io.IOException - if unable to open the readable bytechannel for the resource.
      • getName

        public java.lang.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 java.net.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 java.lang.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 java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class Resource
      • renameTo

        public boolean renameTo​(Resource dest)
                         throws java.lang.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:
        java.lang.SecurityException - if unable to rename due to permissions
      • copyTo

        public void copyTo​(java.io.File destination)
                    throws java.io.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:
        java.io.IOException - if unable to copy the resource
      • toString

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