Class XJarFileResource

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, org.eclipse.jetty.util.resource.ResourceFactory

    public class XJarFileResource
    extends org.eclipse.jetty.util.resource.Resource
    Jetty resource located inside an XJarFile that already is loaded into memory.
    Author:
    Christopher Mindus
    • Field Summary

      • Fields inherited from class org.eclipse.jetty.util.resource.Resource

        __defaultUseCaches
    • Constructor Summary

      Constructors 
      ConstructorDescription
      XJarFileResource​(java.net.URL url, byte[] data, long lastModified)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and TypeMethodDescription
      org.eclipse.jetty.util.resource.ResourceaddPath​(java.lang.String path)
      Returns the resource contained inside the current resource with the given name.
      voidclose()
      Release any temporary resources held by the resource.
      booleandelete()
      Deletes the given resource
      booleanequals​(java.lang.Object o)
      Checks if two are equal.
      booleanexists() 
      protected voidfinalize() 
      java.io.FilegetFile()
      File representing the given resource.
      java.io.InputStreamgetInputStream()
      Input stream to the resource
      java.lang.StringgetName()
      The name of the resource.
      java.nio.channels.ReadableByteChannelgetReadableByteChannel()
      Readable ByteChannel for the resource.
      java.net.URIgetURI()
      URI representing the resource.
      java.net.URLgetURL()
      Deprecated.
      use getURI().toURL() instead.
      inthashCode()
      Hash code.
      booleanisContainedIn​(org.eclipse.jetty.util.resource.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​(org.eclipse.jetty.util.resource.Resource dest)
      Rename the given resource
      • Methods inherited from class org.eclipse.jetty.util.resource.Resource

        copyTo, encode, getAlias, getAllResources, getAssociate, getDefaultUseCaches, getListHTML, getListHTML, getResource, getWeakETag, getWeakETag, isAlias, isContainedIn, isSame, newClassPathResource, newClassPathResource, newResource, newResource, newResource, newResource, newResource, newResource, newSystemResource, release, setAssociate, setDefaultUseCaches, toURL, writeTo
      • Methods inherited from class java.lang.Object

        clone, getClass, notify, notifyAll, toString, wait, wait, wait
    • 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

      • finalize

        protected void finalize()
        Overrides:
        finalize in class org.eclipse.jetty.util.resource.Resource
      • isContainedIn

        public boolean isContainedIn​(org.eclipse.jetty.util.resource.Resource r)
        Specified by:
        isContainedIn in class org.eclipse.jetty.util.resource.Resource
      • 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 org.eclipse.jetty.util.resource.Resource
      • exists

        public boolean exists()
        Specified by:
        exists in class org.eclipse.jetty.util.resource.Resource
        Returns:
        true if the represented resource exists.
      • isDirectory

        public boolean isDirectory()
        Specified by:
        isDirectory in class org.eclipse.jetty.util.resource.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 org.eclipse.jetty.util.resource.Resource
        Returns:
        the last modified time as milliseconds since unix epoch
      • length

        public long length()
        Length of the resource.
        Specified by:
        length in class org.eclipse.jetty.util.resource.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 org.eclipse.jetty.util.resource.Resource
        Returns:
        an URL representing the given resource
      • getURI

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

        public java.io.File getFile()
        File representing the given resource.
        Specified by:
        getFile in class org.eclipse.jetty.util.resource.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 org.eclipse.jetty.util.resource.Resource
        Returns:
        the name of the resource
      • getInputStream

        public java.io.InputStream getInputStream()
        Input stream to the resource
        Specified by:
        getInputStream in class org.eclipse.jetty.util.resource.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 org.eclipse.jetty.util.resource.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 org.eclipse.jetty.util.resource.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​(org.eclipse.jetty.util.resource.Resource dest)
                         throws java.lang.SecurityException
        Rename the given resource
        Specified by:
        renameTo in class org.eclipse.jetty.util.resource.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 org.eclipse.jetty.util.resource.Resource
        Returns:
        null: not supported.
      • addPath

        public org.eclipse.jetty.util.resource.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 org.eclipse.jetty.util.resource.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.