org.codehaus.plexus.archiver.jar
public class Manifest extends Object
Jar
file specification.
.
Specifically, a manifest element consists of
a set of attributes and sections. These sections in turn may contain
attributes. Note in particular that this may result in manifest lines
greater than 72 bytes being wrapped and continued on the next
line. If an application can not handle the continuation mechanism, it
is a defect in the application, not this task.
Since: Ant 1.4
Nested Class Summary | |
---|---|
static class | Manifest.Attribute
An attribute for the manifest.
|
static class | Manifest.Section
A manifest section - you can nest attribute elements into sections.
|
Field Summary | |
---|---|
static String | ATTRIBUTE_CLASSPATH
The Class-Path Header is special - it can be duplicated |
static String | ATTRIBUTE_FROM
The From Header is disallowed in a Manifest |
static String | ATTRIBUTE_MANIFEST_VERSION
The standard manifest version header |
static String | ATTRIBUTE_NAME
The Name Attribute is the first in a named section |
static String | ATTRIBUTE_SIGNATURE_VERSION
The standard Signature Version header |
static String | DEFAULT_MANIFEST_VERSION
Default Manifest version if one is not specified |
static String | EOL
The End-Of-Line marker in manifests |
Manifest.Section | mainSection
The main section of this manifest |
String | manifestVersion
The version of this manifest |
static int | MAX_LINE_LENGTH
The max length of a line in a Manifest |
static int | MAX_SECTION_LENGTH
Max length of a line section which is continued. |
Vector | sectionIndex
Index of sections - used to retain order of sections in manifest |
Hashtable | sections
The named sections of this manifest |
Constructor Summary | |
---|---|
Manifest()
Construct an empty manifest | |
Manifest(Reader r)
Read a manifest file from the given reader
|
Method Summary | |
---|---|
void | addConfiguredAttribute(Manifest.Attribute attribute)
Add an attribute to the manifest - it is added to the main section.
|
void | addConfiguredSection(Manifest.Section section)
Add a section to the manifest
|
boolean | equals(Object rhs) |
static Manifest | getDefaultManifest()
Construct a manifest from Ant's default manifest file.
|
Manifest.Section | getMainSection()
Get the main section of the manifest
|
String | getManifestVersion()
Get the version of the manifest
|
Manifest.Section | getSection(String name)
Get a particular section from the manifest
|
Enumeration | getSectionNames()
Get the section names in this manifest.
|
Enumeration | getWarnings()
Get the warnings for this manifest.
|
int | hashCode() |
void | merge(Manifest other)
Merge the contents of the given manifest into this manifest
|
void | merge(Manifest other, boolean overwriteMain)
Merge the contents of the given manifest into this manifest
|
String | toString()
Convert the manifest to its string representation
|
void | write(PrintWriter writer)
Write the manifest out to a print writer.
|
Parameters: r is the reader from which the Manifest is read
Throws: ManifestException if the manifest is not valid according to the JAR spec IOException if the manifest cannot be read from the reader.
Parameters: attribute the attribute to be added.
Throws: ManifestException if the attribute is not valid.
Parameters: section the manifest section to be added
Throws: ManifestException if the secti0on is not valid.
See Also: java.lang.Object#equals
Returns: the default manifest.
Throws: ArchiverException if there is a problem loading the default manifest
Returns: the main section of the manifest
Returns: the manifest's version string
Parameters: name the name of the section desired.
Returns: the specified section or null if that section does not exist in the manifest
Returns: an Enumeration of section names
Returns: an enumeration of warning strings
See Also: java.lang.Object#hashCode
Parameters: other the Manifest to be merged with this one.
Throws: ManifestException if there is a problem merging the manifest according to the Manifest spec.
Parameters: other the Manifest to be merged with this one. overwriteMain whether to overwrite the main section of the current manifest
Throws: ManifestException if there is a problem merging the manifest according to the Manifest spec.
Returns: a multiline string with the Manifest as it appears in a Manifest file.
Parameters: writer the Writer to which the manifest is written
Throws: IOException if the manifest cannot be written