Manifest

public class Manifest extends Object
implements Cloneable

The Manifest class is used to maintain Manifest entry names and their associated Attributes. There are main Manifest Attributes as well as per-entry Attributes. For information on the Manifest format, please see the Manifest format specification.

See Also

Public Constructor Summary

Manifest()
Constructs a new, empty Manifest.
Manifest(InputStream is)
Constructs a new Manifest from the specified input stream.
Manifest(Manifest man)
Constructs a new Manifest that is a copy of the specified Manifest.

Public Method Summary

void
clear()
Clears the main Attributes as well as the entries in this Manifest.
Object
clone()
Returns a shallow copy of this Manifest.
boolean
equals(Object o)
Returns true if the specified Object is also a Manifest and has the same main Attributes and entries.
Attributes
getAttributes(String name)
Returns the Attributes for the specified entry name.
Map<StringAttributes>
getEntries()
Returns a Map of the entries contained in this Manifest.
Attributes
getMainAttributes()
Returns the main Attributes for the Manifest.
int
hashCode()
Returns the hash code for this Manifest.
void
read(InputStream is)
Reads the Manifest from the specified InputStream.
void
write(OutputStream out)
Writes the Manifest to the specified OutputStream.

Inherited Method Summary

Public Constructors

public Manifest ()

Constructs a new, empty Manifest.

public Manifest (InputStream is)

Constructs a new Manifest from the specified input stream.

Parameters
is the input stream containing manifest data
Throws
IOException if an I/O error has occurred

public Manifest (Manifest man)

Constructs a new Manifest that is a copy of the specified Manifest.

Parameters
man the Manifest to copy

Public Methods

public void clear ()

Clears the main Attributes as well as the entries in this Manifest.

public Object clone ()

Returns a shallow copy of this Manifest. The shallow copy is implemented as follows:

     public Object clone() { return new Manifest(this); }
 

Returns
  • a shallow copy of this Manifest

public boolean equals (Object o)

Returns true if the specified Object is also a Manifest and has the same main Attributes and entries.

Parameters
o the object to be compared
Returns
  • true if the specified Object is also a Manifest and has the same main Attributes and entries

public Attributes getAttributes (String name)

Returns the Attributes for the specified entry name. This method is defined as:

      return (Attributes)getEntries().get(name)
 
Though null is a valid name, when getAttributes(null) is invoked on a Manifest obtained from a jar file, null will be returned. While jar files themselves do not allow null-named attributes, it is possible to invoke getEntries() on a Manifest, and on that result, invoke put with a null key and an arbitrary value. Subsequent invocations of getAttributes(null) will return the just-put value.

Note that this method does not return the manifest's main attributes; see getMainAttributes().

Parameters
name entry name
Returns
  • the Attributes for the specified entry name

public Map<StringAttributes> getEntries ()

Returns a Map of the entries contained in this Manifest. Each entry is represented by a String name (key) and associated Attributes (value). The Map permits the null key, but no entry with a null key is created by read(InputStream), nor is such an entry written by using write(OutputStream).

Returns
  • a Map of the entries contained in this Manifest

public Attributes getMainAttributes ()

Returns the main Attributes for the Manifest.

Returns
  • the main Attributes for the Manifest

public int hashCode ()

Returns the hash code for this Manifest.

Returns
  • this object's hash code.

public void read (InputStream is)

Reads the Manifest from the specified InputStream. The entry names and attributes read will be merged in with the current manifest entries.

Parameters
is the input stream
Throws
IOException if an I/O error has occurred

public void write (OutputStream out)

Writes the Manifest to the specified OutputStream. Attributes.Name.MANIFEST_VERSION must be set in MainAttributes prior to invoking this method.

Parameters
out the output stream
Throws
IOException if an I/O error has occurred