Class InputJarArchive
java.lang.Object
com.sun.enterprise.deployment.deploy.shared.JarArchive
com.sun.enterprise.deployment.deploy.shared.InputJarArchive
- All Implemented Interfaces:
AutoCloseable,org.glassfish.api.deployment.archive.Archive,org.glassfish.api.deployment.archive.ReadableArchive
@Service(name="jar")
@PerLookup
public class InputJarArchive
extends JarArchive
implements org.glassfish.api.deployment.archive.ReadableArchive
This implementation of the Archive deal with reading jar files either from a JarFile or from a JarInputStream
- Author:
- Jerome Dochez
-
Field Summary
FieldsFields inherited from class com.sun.enterprise.deployment.deploy.shared.JarArchive
archiveMetaData, extraData -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()close the abstract archivevoidcreates a new abstract archive with the given pathbooleandelete()deletes the underlying jar fileentries()entries(Enumeration embeddedArchives) booleanexists()booleanReturns the existence of the given entry name The file name must be relative to the root of the module.longGet the size of the archiveReturns the collection of first level directories in this archive.longgetEntrySize(String name) Returns the entry size for a given entry name or 0 if not knowngetJarEntry(String name) protected static JarFilegetJarFile(URI uri) org.glassfish.api.deployment.archive.ReadableArchivegetSubArchive(String name) getURI()Returns the path used to create or open the underlying archivevoidOpen an abstract archivebooleanrename the underlying jar fileMethods inherited from class com.sun.enterprise.deployment.deploy.shared.JarArchive
addArchiveMetaData, entries, getArchiveMetaData, getExtraData, getName, getParentArchive, isDirectory, removeArchiveMetaData, removeExtraData, setExtraData, setParentArchiveMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.glassfish.api.deployment.archive.Archive
entries, getName, isDirectoryMethods inherited from interface org.glassfish.api.deployment.archive.ReadableArchive
addArchiveMetaData, getArchiveMetaData, getExtraData, getParentArchive, removeArchiveMetaData, removeExtraData, setExtraData, setParentArchive
-
Field Details
-
deplLogger
-
jarFile
-
jarIS
-
-
Constructor Details
-
InputJarArchive
public InputJarArchive()
-
-
Method Details
-
open
Open an abstract archive- Specified by:
openin interfaceorg.glassfish.api.deployment.archive.ReadableArchive- Parameters:
uri- the path to the archive- Throws:
IOException
-
getArchiveSize
Get the size of the archive- Specified by:
getArchiveSizein interfaceorg.glassfish.api.deployment.archive.Archive- Returns:
- tje the size of this archive or -1 on error
- Throws:
NullPointerExceptionSecurityException
-
getDirectories
Returns the collection of first level directories in this archive.Avoid having to fetch all the entries if we can avoid it. The only time we must do that is if size() is invoked on the collection. Use the CollectionWrappedEnumeration for this optimization which will create a full in-memory list of the entries only if and when needed to satisfy the size() method.
- Specified by:
getDirectoriesin interfaceorg.glassfish.api.deployment.archive.Archive- Returns:
- collection of directories under the root of this archive
- Throws:
IOException
-
entries
- Specified by:
entriesin interfaceorg.glassfish.api.deployment.archive.Archive
-
getJarEntry
- Specified by:
getJarEntryin classJarArchive
-
exists
public boolean exists()- Specified by:
existsin interfaceorg.glassfish.api.deployment.archive.ReadableArchive- Returns:
- true if this abstract archive maps to an existing jar file
-
exists
Returns the existence of the given entry name The file name must be relative to the root of the module.- Specified by:
existsin interfaceorg.glassfish.api.deployment.archive.ReadableArchive- Overrides:
existsin classJarArchive- Parameters:
name- the file name relative to the root of the module. * @return the existence the given entry name.- Throws:
IOException
-
getEntry
- Specified by:
getEntryin interfaceorg.glassfish.api.deployment.archive.ReadableArchive- Parameters:
entryName- entry name- Returns:
- a @see java.io.InputStream for an existing entry in the current abstract archive
- Throws:
IOException
-
getEntrySize
Returns the entry size for a given entry name or 0 if not known- Specified by:
getEntrySizein interfaceorg.glassfish.api.deployment.archive.ReadableArchive- Parameters:
name- the entry name- Returns:
- the entry size
-
getManifest
- Specified by:
getManifestin interfaceorg.glassfish.api.deployment.archive.Archive- Returns:
- the manifest information for this abstract archive
- Throws:
IOException
-
getURI
Returns the path used to create or open the underlying archive- Specified by:
getURIin interfaceorg.glassfish.api.deployment.archive.Archive- Returns:
- the path for this archive.
-
delete
public boolean delete()deletes the underlying jar file- Specified by:
deletein interfaceorg.glassfish.api.deployment.archive.ReadableArchive
-
renameTo
rename the underlying jar file- Specified by:
renameToin interfaceorg.glassfish.api.deployment.archive.ReadableArchive
-
getSubArchive
public org.glassfish.api.deployment.archive.ReadableArchive getSubArchive(String name) throws IOException - Specified by:
getSubArchivein interfaceorg.glassfish.api.deployment.archive.ReadableArchive- Returns:
- an Archive for an embedded archive indentified with the name parameter
- Throws:
IOException
-
close
close the abstract archive- Specified by:
closein interfaceorg.glassfish.api.deployment.archive.Archive- Specified by:
closein interfaceAutoCloseable- Throws:
IOException
-
entries
- Returns:
- an @see java.util.Enumeration of entries in this abstract archive, providing the list of embedded archive to not count their entries as part of this archive
-
addEntry
- Parameters:
name- the entry name- Returns:
- an @see java.io.OutputStream for a new entry in this current abstract archive.
- Throws:
IOException
-
create
creates a new abstract archive with the given path- Parameters:
uri- the path to create the archive- Throws:
IOException
-
getJarFile
- Returns:
- a JarFile instance for a file path
- Throws:
IOException
-