java.net

Class JarURLConnection

public abstract class JarURLConnection extends URLConnection

This abstract class represents a common superclass for implementations of jar URL's. A jar URL is a special type of URL that allows JAR files on remote systems to be accessed. It has the form:

jar:<standard URL pointing to jar filei>!/file/within/jarfile

for example:

jar:http://www.urbanophile.com/java/foo.jar!/com/urbanophile/bar.class

That example URL points to the file /com/urbanophile/bar.class in the remote JAR file http://www.urbanophile.com/java/foo.jar. The HTTP protocol is used only as an example. Any supported remote protocol can be used.

This class currently works by retrieving the entire jar file into a local cache file, then performing standard jar operations on it. (At least this is true for the default protocol implementation).

Since: 1.2

UNKNOWN: Aug 10, 1999.

Field Summary
protected URLConnectionjarFileURLConnection
The connection to the jar file itself.
Constructor Summary
protected JarURLConnection(URL url)
Creates a JarURLConnection from an URL object
Method Summary
AttributesgetAttributes()
Returns the Attributes for the Jar entry specified by the URL or null if none
Certificate[]getCertificates()
Returns an array of Certificate objects for the jar file entry specified by this URL or null if there are none
StringgetEntryName()
Returns the "entry name" portion of the jar URL.
JarEntrygetJarEntry()
Returns the entry in this jar file specified by the URL.
abstract JarFilegetJarFile()
Returns a read-only JarFile object for the remote jar file
URLgetJarFileURL()
This method returns the "real" URL where the JarFile is located.
AttributesgetMainAttributes()
Returns the main Attributes for the jar file specified in the URL or null if there are none
ManifestgetManifest()
Returns a Manifest object for this jar file, or null if there is no manifest.

Field Detail

jarFileURLConnection

protected URLConnection jarFileURLConnection
The connection to the jar file itself. A JarURLConnection can represent an entry in a jar file or an entire jar file. In either case this describes just the jar file itself.

Constructor Detail

JarURLConnection

protected JarURLConnection(URL url)
Creates a JarURLConnection from an URL object

Parameters: url The URL object for this connection.

Throws: MalformedURLException If url is invalid

UNKNOWN: This constructor is protected since JDK 1.4

Method Detail

getAttributes

public Attributes getAttributes()
Returns the Attributes for the Jar entry specified by the URL or null if none

Returns: The Attributes object for this connection if the URL for it points to a JAR file entry, null otherwise

Throws: IOException If an error occurs

getCertificates

public Certificate[] getCertificates()
Returns an array of Certificate objects for the jar file entry specified by this URL or null if there are none

Returns: A Certificate array

Throws: IOException If an error occurs

getEntryName

public String getEntryName()
Returns the "entry name" portion of the jar URL. This is the portion after the "!/" in the jar URL that represents the pathname inside the actual jar file.

Returns: The entry name.

getJarEntry

public JarEntry getJarEntry()
Returns the entry in this jar file specified by the URL.

Returns: The jar entry

Throws: IOException If an error occurs

getJarFile

public abstract JarFile getJarFile()
Returns a read-only JarFile object for the remote jar file

Returns: The JarFile object

Throws: IOException If an error occurs

getJarFileURL

public URL getJarFileURL()
This method returns the "real" URL where the JarFile is located. //****Is this right?*****

Returns: The remote URL

getMainAttributes

public Attributes getMainAttributes()
Returns the main Attributes for the jar file specified in the URL or null if there are none

Returns: The main Attributes for the JAR file for this connection

Throws: IOException If an error occurs

getManifest

public Manifest getManifest()
Returns a Manifest object for this jar file, or null if there is no manifest.

Returns: The Manifest for this connection, or null if none

Throws: IOException If an error occurs