Class XJarFileResource

All Implemented Interfaces:
Closeable, AutoCloseable, ResourceFactory

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

    • XJarFileResource

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

    • finalize

      protected void finalize()
      Overrides:
      finalize in class Object
    • isContainedIn

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

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

      public URI getURI()
      URI representing the resource.
      Specified by:
      getURI in class Resource
      Returns:
      an URI representing the given resource
    • getFile

      public 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 String getName()
      The name of the resource.
      Specified by:
      getName in class Resource
      Returns:
      the name of the resource
    • getInputStream

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

      public 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 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:
      SecurityException - Always: Delete not supported.
    • renameTo

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

      public 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(String path) throws 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:
      IOException - if unable to resolve the path
    • hashCode

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

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