Class AbstractArchiveResourceSet

All Implemented Interfaces:
Lifecycle, WebResourceSet
Direct Known Subclasses:
AbstractSingleArchiveResourceSet, JarWarResourceSet

public abstract class AbstractArchiveResourceSet extends AbstractResourceSet
  • Field Details

  • Constructor Details

    • AbstractArchiveResourceSet

      public AbstractArchiveResourceSet()
  • Method Details

    • setBaseUrl

      protected final void setBaseUrl(URL baseUrl)
    • getBaseUrl

      public final URL getBaseUrl()
      Description copied from interface: WebResourceSet
      Obtain the base URL for this set of resources. One of the uses of this is to grant read permissions to the resources when running under a security manager.
      Returns:
      The base URL for this set of resources
    • getBaseUrlString

      protected final String getBaseUrlString()
    • list

      public final String[] list(String path)
      Description copied from interface: WebResourceSet
      Obtain the list of the names of all of the files and directories located in the specified directory.
      Parameters:
      path - The path for the resource of interest relative to the root of the web application. It must start with '/'.
      Returns:
      The list of resources. If path does not refer to a directory then a zero length array will be returned.
    • listWebAppPaths

      public final Set<String> listWebAppPaths(String path)
      Description copied from interface: WebResourceSet
      Obtain the Set of the web applications pathnames of all of the files and directories located in the specified directory. Paths representing directories will end with a "/" character.
      Parameters:
      path - The path for the resource of interest relative to the root of the web application. It must start with '/'.
      Returns:
      The Set of resources. If path does not refer to a directory then an empty set will be returned.
    • getArchiveEntries

      protected abstract HashMap<String,JarEntry> getArchiveEntries(boolean single)
      Obtain the map of entries in the archive. May return null in which case getArchiveEntry(String) should be used.
      Parameters:
      single - Is this request being make to support a single lookup? If false, a map will always be returned. If true, implementations may use this as a hint in determining the optimum way to respond.
      Returns:
      The archives entries mapped to their names or null if getArchiveEntry(String) should be used.
    • getArchiveEntry

      protected abstract JarEntry getArchiveEntry(String pathInArchive)
      Obtain a single entry from the archive. For performance reasons, getArchiveEntries(boolean) should always be called first and the archive entry looked up in the map if one is returned. Only if that call returns null should this method be used.
      Parameters:
      pathInArchive - The path in the archive of the entry required
      Returns:
      The specified archive entry or null if it does not exist
    • mkdir

      public final boolean mkdir(String path)
      Description copied from interface: WebResourceSet
      Create a new directory at the given path.
      Parameters:
      path - The path for the new resource to create relative to the root of the web application. It must start with '/'.
      Returns:
      true if the directory was created, otherwise false
    • write

      public final boolean write(String path, InputStream is, boolean overwrite)
      Description copied from interface: WebResourceSet
      Create a new resource at the requested path using the provided InputStream.
      Parameters:
      path - The path to be used for the new Resource. It is relative to the root of the web application and must start with '/'.
      is - The InputStream that will provide the content for the new Resource.
      overwrite - If true and the resource already exists it will be overwritten. If false and the resource already exists the write will fail.
      Returns:
      true if and only if the new Resource is written
    • getResource

      public final WebResource getResource(String path)
      Description copied from interface: WebResourceSet
      Obtain the object that represents the resource at the given path. Note the resource at that path may not exist.
      Parameters:
      path - The path for the resource of interest relative to the root of the web application. It must start with '/'.
      Returns:
      The object that represents the resource at the given path
    • isMultiRelease

      protected abstract boolean isMultiRelease()
    • createArchiveResource

      protected abstract WebResource createArchiveResource(JarEntry jarEntry, String webAppPath, Manifest manifest)
    • isReadOnly

      public final boolean isReadOnly()
      Description copied from interface: WebResourceSet
      Obtains the current value of the read-only setting for this set of resources.
      Returns:
      true if this set of resources is configured to be read-only, otherwise false
    • setReadOnly

      public void setReadOnly(boolean readOnly)
      Description copied from interface: WebResourceSet
      Configures whether or not this set of resources is read-only.
      Parameters:
      readOnly - true if this set of resources should be configured to be read-only
    • openJarFile

      protected JarFile openJarFile() throws IOException
      Throws:
      IOException
    • closeJarFile

      protected void closeJarFile()
    • gc

      public void gc()
      Description copied from interface: WebResourceSet
      Implementations may cache some information to improve performance. This method triggers the clean-up of those resources.