The syntax of a JAR URL is:
jar:<url>!/{entry}
for example:
jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class
Jar URLs should be used to refer to a JAR file or entries in
a JAR file. The example above is a JAR URL which refers to a JAR
entry. If the entry name is omitted, the URL refers to the whole
JAR file:
jar:http://www.foo.com/bar/baz.jar!/
Users should cast the generic URLConnection to a JarURLConnection when they know that the URL they created is a JAR URL, and they need JAR-specific functionality. For example:
URL url = new URL("jar:file:/home/duke/duke.jar!/");
JarURLConnection jarConnection = (JarURLConnection)url.openConnection();
Manifest manifest = jarConnection.getManifest();
JarURLConnection instances can only be used to read from JAR files.
It is not possible to get a java. to modify or write
to the underlying JAR file using this class.
Examples:
jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class
jar:http://www.foo.com/bar/baz.jar!/
jar:http://www.foo.com/bar/baz.jar!/COM/foo/
!/ is referred to as the separator.
When constructing a JAR url via new URL(context, spec),
the following rules apply:
Examples:
java.net.URL , java.net.URLConnection , java.util.jar.JarFile , java.util.jar.JarInputStream , java.util.jar.Manifest , java.util.zip.ZipEntry
| Modifier and Type | Field and Description |
|---|---|
| private final String | |
| private final URL | |
| protected URLConnection | jarFileURLConnection
The connection to the JAR file URL, if the connection has been initiated. |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public Attributes | Returns: the Attributes object for this connection if the URL for it points to a JAR file entry, null otherwise.Return the Attributes object for this connection if the URL for it points to a JAR file entry, null otherwise. |
| public Certificate[] | Returns: the Certificate objects for this connection if the URL for it points to a JAR file entry, null otherwise.Returns the Certificate objects for this connection if the URL for it points to a JAR file entry, null otherwise. |
| public String | Returns: the entry name for this connection, if any.Return the entry name for this connection. |
| public JarEntry | Returns: the JAR entry object for this connection, or null if the JAR URL for this connection points to a JAR file.Return the JAR entry object for this connection, if any. |
| public abstract JarFile | Returns: the JAR file for this connection. If the connection is a connection to an entry of a JAR file, the JAR file object is returnedReturn the JAR file for this connection. |
| public URL | Returns: the URL for the Jar file for this connection.Returns the URL for the Jar file for this connection. |
| public Attributes | Returns: the main Attributes for the JAR file for this connection.Returns the main Attributes for the JAR file for this connection. |
| public Manifest | Returns: the manifest object corresponding to the JAR file object for this connection.Returns the Manifest for this connection, or null if none. |
| private static String | Returns: the decoded entry name, or null if this URL has no entry namethe URL spec of this connection spec, int the index of the '!/' separator separatorIndex)Parse the entry name (if any) of this JarURLConnection |
| private static URL | Returns: a URL to the JAR file this connection reads fromthe URL spec of this connection spec, int the index of the '!/' separator separatorIndex, URL the URL passed to the constructor connectionURL)Parse the URL of the JAR file backing this JarURLConnection, appending any #runtime fragment as neccessary |
| entryName | back to summary |
|---|---|
| private final String entryName | |
| jarFileURL | back to summary |
|---|---|
| private final URL jarFileURL | |
| jarFileURLConnection | back to summary |
|---|---|
| protected URLConnection jarFileURLConnection The connection to the JAR file URL, if the connection has been initiated. This should be set by connect. | |
| JarURLConnection | back to summary |
|---|---|
| protected JarURLConnection(URL url) throws MalformedURLException Creates the new JarURLConnection to the specified URL.
| |
| getAttributes | back to summary |
|---|---|
| public Attributes getAttributes() throws IOException Return the Attributes object for this connection if the URL for it points to a JAR file entry, null otherwise.
| |
| getCertificates | back to summary |
|---|---|
| public Certificate[] getCertificates() throws IOException Returns the Certificate objects for this connection if the URL
for it points to a JAR file entry, null otherwise. This method
can only be called once
the connection has been completely verified by reading
from the input stream until the end of the stream has been
reached. Otherwise, this method will return The returned certificate array comprises all the signer certificates that were used to verify this entry. Each signer certificate is followed by its supporting certificate chain (which may be empty). Each signer certificate and its supporting certificate chain are ordered bottom-to-top (i.e., with the signer certificate first and the (root) certificate authority last). API Note The verification process does not include validating or establishing
trust in the code signers. A caller should perform additional checks,
such as using a
| |
| getEntryName | back to summary |
|---|---|
| public String getEntryName() Return the entry name for this connection. This method returns null if the JAR file URL corresponding to this connection points to a JAR file and not a JAR file entry.
| |
| getJarEntry | back to summary |
|---|---|
| public JarEntry getJarEntry() throws IOException Return the JAR entry object for this connection, if any. This method returns null if the JAR file URL corresponding to this connection points to a JAR file and not a JAR file entry.
| |
| getJarFile | back to summary |
|---|---|
| public abstract JarFile getJarFile() throws IOException Return the JAR file for this connection.
| |
| getJarFileURL | back to summary |
|---|---|
| public URL getJarFileURL() Returns the URL for the Jar file for this connection.
| |
| getMainAttributes | back to summary |
|---|---|
| public Attributes getMainAttributes() throws IOException Returns the main Attributes for the JAR file for this connection.
| |
| getManifest | back to summary |
|---|---|
| public Manifest getManifest() throws IOException Returns the Manifest for this connection, or null if none.
| |
| parseEntryName | back to summary |
|---|---|
| private static String parseEntryName(String spec, int separatorIndex) Parse the entry name (if any) of this JarURLConnection | |
| parseJarFileURL | back to summary |
|---|---|
| private static URL parseJarFileURL(String spec, int separatorIndex, URL connectionURL) throws MalformedURLException Parse the URL of the JAR file backing this JarURLConnection, appending any #runtime fragment as neccessary
| |