Class XJarFileResource

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, ResourceFactory

    public class XJarFileResource
    extends Resource
    Jetty resource located inside an XJarFile that already is loaded into memory.
    Author:
    Christopher Mindus
    • Constructor Detail

      • XJarFileResource

        public XJarFileResource​(java.net.URL url,
                                byte[] data,
                                long lastModified)
        Constructor.
        Parameters:
        url - The URL.
        data - The byte array.
        lastModified - Last modified.
    • Method Detail

      • close

        public void close()
        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
      • exists

        public boolean exists()
        Specified by:
        exists in class Resource
        Returns:
        true if the represented resource exists.
      • 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()
        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()
        Length of the resource.
        Specified by:
        length in class Resource
        Returns:
        the length of the resource
      • getURL

        @Deprecated
        public java.net.URL getURL()
        Deprecated.
        use getURI().toURL() instead.
        URL representing the resource.
        Specified by:
        getURL in class Resource
        Returns:
        an URL representing the given resource
      • getURI

        public java.net.URI getURI()
        URI representing the resource.
        Overrides:
        getURI in class Resource
        Returns:
        an URI representing the given resource
      • getFile

        public java.io.File getFile()
        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.
      • getName

        public java.lang.String getName()
        The name of the resource.
        Specified by:
        getName in class Resource
        Returns:
        the name of the resource
      • getInputStream

        public java.io.InputStream getInputStream()
        Input stream to the resource
        Specified by:
        getInputStream in class Resource
        Returns:
        an input stream to the resource
      • getReadableByteChannel

        public java.nio.channels.ReadableByteChannel getReadableByteChannel()
        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.
      • delete

        public boolean delete()
                       throws java.lang.SecurityException
        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 - Always: Delete not supported.
      • renameTo

        public boolean renameTo​(Resource dest)
                         throws java.lang.SecurityException
        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 - Always: RenameTo not supported.
      • list

        public java.lang.String[] list()
        list of resource names contained in the given resource.
        Specified by:
        list in class Resource
        Returns:
        null: not supported.
      • addPath

        public Resource addPath​(java.lang.String path)
                         throws java.io.IOException
        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, which is not encoded
        Returns:
        the Resource for the resolved path within this Resource.
        Throws:
        java.io.IOException - if unable to resolve the path
      • hashCode

        public int hashCode()
        Hash code.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        The hash code.
      • equals

        public boolean equals​(java.lang.Object o)
        Checks if two are equal.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        o - The other resource?
        Returns:
        true for equality, false otherwise.