Class ScatteredArchive

java.lang.Object
org.glassfish.api.deployment.archive.ReadableArchiveAdapter
org.glassfish.internal.embedded.ScatteredArchive
All Implemented Interfaces:
AutoCloseable, org.glassfish.api.deployment.archive.Archive, org.glassfish.api.deployment.archive.ReadableArchive

public class ScatteredArchive extends org.glassfish.api.deployment.archive.ReadableArchiveAdapter
Abstraction for a scattered archive (parts disseminated in various directories)
Author:
Jerome Dochez
  • Method Details

    • getClassPath

      public Iterable<URL> getClassPath()
      Get the classpath URLs
      Returns:
      A read-only copy of the classpath URL Collection
    • getResourcesDir

      public File getResourcesDir()
      Returns:
      The resources directory
    • getEntry

      public InputStream getEntry(String arg) throws IOException
      Returns the InputStream for the given entry name The file name must be relative to the root of the module.
      Parameters:
      arg - the file name relative to the root of the module.
      Returns:
      the InputStream for the given entry name or null if not found.
      Throws:
      IOException
    • getEntrySize

      public long getEntrySize(String arg)
    • exists

      public boolean exists(String name) throws IOException
      Returns whether or not a file by that name exists The file name must be relative to the root of the module.
      Parameters:
      name - the file name relative to the root of the module.
      Returns:
      does the file exist?
      Throws:
      IOException
    • entries

      public Enumeration<String> entries()
      Returns an enumeration of the module file entries. All elements in the enumeration are of type String. Each String represents a file name relative to the root of the module.

      Currently under construction

      Specified by:
      entries in interface org.glassfish.api.deployment.archive.Archive
      Overrides:
      entries in class org.glassfish.api.deployment.archive.ReadableArchiveAdapter
      Returns:
      an enumeration of the archive file entries.
    • getManifest

      public Manifest getManifest() throws IOException
      Returns the manifest information for this archive
      Returns:
      the manifest info
      Throws:
      IOException
    • getURI

      public URI getURI()
      Returns the path used to create or open the underlying archive

      TODO: abstraction breakage: Several callers, most notably DeploymentContext.getSourceDir() implementation, assumes that this URI is an URL, and in fact file URL.

      If this needs to be URL, use of URI is misleading. And furthermore, if its needs to be a file URL, this should be File.

      Returns:
      the path for this archive.
    • getName

      public String getName()
      Returns the name of the archive.

      Implementations should not return null.

      Returns:
      the name of the archive
    • type

      Returns the archive type
      Returns:
      the archive type
    • entries

      public Enumeration<String> entries(String s)
      Returns an enumeration of the module file entries with the specified prefix. All elements in the enumeration are of type String. Each String represents a file name relative to the root of the module.

      Currently Not Supported

      Specified by:
      entries in interface org.glassfish.api.deployment.archive.Archive
      Overrides:
      entries in class org.glassfish.api.deployment.archive.ReadableArchiveAdapter
      Parameters:
      s - the prefix of entries to be included
      Returns:
      an enumeration of the archive file entries.
    • getDirectories

      public Collection<String> getDirectories() throws IOException
      Specified by:
      getDirectories in interface org.glassfish.api.deployment.archive.Archive
      Overrides:
      getDirectories in class org.glassfish.api.deployment.archive.ReadableArchiveAdapter
      Throws:
      IOException
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getFile

      public File getFile(String name)
    • close

      public void close() throws IOException
      Specified by:
      close in interface org.glassfish.api.deployment.archive.Archive
      Specified by:
      close in interface AutoCloseable
      Overrides:
      close in class org.glassfish.api.deployment.archive.ReadableArchiveAdapter
      Throws:
      IOException