Class HTTPInputArchive
- java.lang.Object
-
- com.sun.enterprise.deploy.shared.AbstractReadableArchive
-
- org.glassfish.appclient.client.acc.HTTPInputArchive
-
- All Implemented Interfaces:
Archive,ReadableArchive
- Direct Known Subclasses:
HTTPSInputArchive
@Service(name="http") @PerLookup public class HTTPInputArchive extends AbstractReadableArchive
Implements ReadableArchive for the http (and https) protocol to support launches of app clients using Java Web Start.Although the JARs are stored as JARs in the Java Web Start cache, Java Web Start hides the actual location where the cached JAR resides. So this implementation does not rely on the JARs location but uses URLs to access the archive itself and its elements.
- Author:
- tjquinn
-
-
Field Summary
-
Fields inherited from class com.sun.enterprise.deploy.shared.AbstractReadableArchive
archiveMetaData, extraData, parentArchive
-
-
Constructor Summary
Constructors Constructor Description HTTPInputArchive()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()closes this archive and releases all resourcesbooleandelete()deletes the archiveEnumeration<String>entries()Returns an enumeration of the module file entries.Enumeration<String>entries(String prefix)Returns an enumeration of the module file entries with the specified prefix.booleanexists()booleanexists(String name)Returns the existence of the given entry name The file name must be relative to the root of the module.longgetArchiveSize()Returns the size of the archive.Collection<String>getDirectories()Returns the enumeration of first level directories in this archiveInputStreamgetEntry(String name)Returns the InputStream for the given entry name The file name must be relative to the root of the module.longgetEntrySize(String name)Returns the entry size for a given entry name or 0 if not knownManifestgetManifest()Returns the manifest information for this archiveStringgetName()Returns the name of the archive.ReadableArchivegetSubArchive(String name)Returns an instance of this archive abstraction for an embedded archive within this archive.URIgetURI()Returns the path used to create or open the underlying archivebooleanisDirectory(String name)Returns true if the entry is a directory or a plain filevoidopen(URI uri)Open an abstract archivebooleanrenameTo(String name)rename the archive-
Methods inherited from class com.sun.enterprise.deploy.shared.AbstractReadableArchive
addArchiveMetaData, getArchiveMetaData, getExtraData, getParentArchive, removeArchiveMetaData, removeExtraData, setExtraData, setParentArchive
-
-
-
-
Method Detail
-
getEntry
public InputStream getEntry(String name) throws IOException
Description copied from interface:ReadableArchiveReturns the InputStream for the given entry name 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:
- the InputStream for the given entry name or null if not found.
- Throws:
IOException
-
exists
public boolean exists(String name) throws IOException
Description copied from interface:ReadableArchiveReturns the existence of the given entry name 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:
- the existence the given entry name.
- Throws:
IOException
-
getEntrySize
public long getEntrySize(String name)
Description copied from interface:ReadableArchiveReturns the entry size for a given entry name or 0 if not known- Parameters:
name- the entry name- Returns:
- the entry size
-
open
public void open(URI uri) throws IOException
Description copied from interface:ReadableArchiveOpen an abstract archive- Parameters:
uri- path to the archive- Throws:
IOException
-
getSubArchive
public ReadableArchive getSubArchive(String name) throws IOException
Description copied from interface:ReadableArchiveReturns an instance of this archive abstraction for an embedded archive within this archive.- Parameters:
name- is the entry name relative to the root for the archive- Returns:
- the Archive instance for this abstraction, or null if no such entry exists.
- Throws:
IOException
-
exists
public boolean exists()
- Returns:
- true if this archive exists
-
delete
public boolean delete()
Description copied from interface:ReadableArchivedeletes the archive
-
renameTo
public boolean renameTo(String name)
Description copied from interface:ReadableArchiverename the archive- Parameters:
name- the archive name
-
close
public void close() throws IOExceptionDescription copied from interface:Archivecloses this archive and releases all resources- Throws:
IOException
-
entries
public Enumeration<String> entries()
Description copied from interface:ArchiveReturns 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.- Returns:
- an enumeration of the archive file entries.
-
entries
public Enumeration<String> entries(String prefix)
Description copied from interface:ArchiveReturns 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.- Parameters:
prefix- the prefix of entries to be included- Returns:
- an enumeration of the archive file entries.
-
getDirectories
public Collection<String> getDirectories() throws IOException
Description copied from interface:ArchiveReturns the enumeration of first level directories in this archive- Returns:
- enumeration of directories under the root of this archive
- Throws:
IOException
-
isDirectory
public boolean isDirectory(String name)
Description copied from interface:ArchiveReturns true if the entry is a directory or a plain file- Parameters:
name- name is one of the entries returned byArchive.entries()- Returns:
- true if the entry denoted by the passed name is a directory
-
getManifest
public Manifest getManifest() throws IOException
Description copied from interface:ArchiveReturns the manifest information for this archive- Returns:
- the manifest info
- Throws:
IOException
-
getURI
public URI getURI()
Description copied from interface:ArchiveReturns the path used to create or open the underlying archiveTODO: 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
URIis misleading. And furthermore, if its needs to be a file URL, this should beFile.- Returns:
- the path for this archive.
-
getArchiveSize
public long getArchiveSize() throws SecurityExceptionDescription copied from interface:ArchiveReturns the size of the archive.- Returns:
- long indicating the size of the archive
- Throws:
SecurityException
-
-