java.util.jar

Class Manifest

public class Manifest extends Object implements Cloneable

Reads, writes and manipulaties jar manifest files. XXX

Since: 1.2

Constructor Summary
Manifest()
Creates a new empty Manifest.
Manifest(InputStream in)
Creates a Manifest from the supplied input stream.
Manifest(Manifest man)
Creates a Manifest from another Manifest.
Method Summary
voidclear()
Clears the main attributes and removes all the entries from the manifest.
Objectclone()
Makes a deep copy of the main attributes, but a shallow copy of the other entries.
booleanequals(Object o)
Checks if another object is equal to this Manifest object.
AttributesgetAttributes(String entryName)
Returns the Attributes associated with the Entry.
Map<String,Attributes>getEntries()
Gets a map of entry Strings to Attributes for all the entries described in this manifest.
AttributesgetMainAttributes()
Gets the main attributes of this Manifest.
inthashCode()
Calculates the hash code of the manifest.
voidread(InputStream in)
Read and merge a Manifest from the designated input stream.
voidwrite(OutputStream out)
Writes the contents of this Manifest to the designated output stream.

Constructor Detail

Manifest

public Manifest()
Creates a new empty Manifest.

Manifest

public Manifest(InputStream in)
Creates a Manifest from the supplied input stream.

Parameters: in the input stream to read the manifest from

Throws: IOException when an i/o exception occurs or the input stream does not describe a valid manifest

See Also: read

Manifest

public Manifest(Manifest man)
Creates a Manifest from another Manifest. Makes a deep copy of the main attributes, but a shallow copy of the other entries. This means that you can freely add, change or remove the main attributes or the entries of the new manifest without effecting the original manifest, but adding, changing or removing attributes from a particular entry also changes the attributes of that entry in the original manifest.

Parameters: man the Manifest to copy from

See Also: clone

Method Detail

clear

public void clear()
Clears the main attributes and removes all the entries from the manifest.

clone

public Object clone()
Makes a deep copy of the main attributes, but a shallow copy of the other entries. This means that you can freely add, change or remove the main attributes or the entries of the new manifest without effecting the original manifest, but adding, changing or removing attributes from a particular entry also changes the attributes of that entry in the original manifest. Calls new Manifest(this).

equals

public boolean equals(Object o)
Checks if another object is equal to this Manifest object. Another Object is equal to this Manifest object if it is an instance of Manifest and the main attributes and the entries of the other manifest are equal to this one.

getAttributes

public Attributes getAttributes(String entryName)
Returns the Attributes associated with the Entry.

Implemented as: return (Attributes)getEntries().get(entryName)

Parameters: entryName the name of the entry to look up

Returns: the attributes associated with the entry or null when none

getEntries

public Map<String,Attributes> getEntries()
Gets a map of entry Strings to Attributes for all the entries described in this manifest. Adding, changing or removing from this entries map changes the entries of this manifest.

getMainAttributes

public Attributes getMainAttributes()
Gets the main attributes of this Manifest.

hashCode

public int hashCode()
Calculates the hash code of the manifest. Implemented by a xor of the hash code of the main attributes with the hash code of the entries map.

read

public void read(InputStream in)
Read and merge a Manifest from the designated input stream.

Parameters: in the input stream to read from.

Throws: IOException if an I/O related exception occurs during the process.

write

public void write(OutputStream out)
Writes the contents of this Manifest to the designated output stream. Line-endings are platform-independent and consist of the 2-codepoint sequence 0x0D and 0x0A.

Parameters: out the output stream to write this Manifest to.

Throws: IOException if an I/O related exception occurs during the process.