org.apache.tools.ant.taskdefs
Class Manifest.Attribute

java.lang.Object
  extended by org.apache.tools.ant.taskdefs.Manifest.Attribute
Enclosing class:
Manifest

public static class Manifest.Attribute
extends java.lang.Object

An attribute for the manifest. Those attributes that are not nested into a section will be added to the "Main" section.


Constructor Summary
Manifest.Attribute()
          Construct an empty attribute
Manifest.Attribute(java.lang.String line)
          Construct an attribute by parsing a line from the Manifest
Manifest.Attribute(java.lang.String name, java.lang.String value)
          Construct a manifest by specifying its name and value
 
Method Summary
 void addContinuation(java.lang.String line)
          Add a continuation line from the Manifest file.
 void addValue(java.lang.String value)
          Add a new value to this attribute - making it multivalued.
 boolean equals(java.lang.Object rhs)
           
 java.lang.String getKey()
          Get the attribute's Key - its name in lower case.
 java.lang.String getName()
          Get the Attribute's name
 java.lang.String getValue()
          Get the Attribute's value.
 java.util.Enumeration getValues()
          Get all the attribute's values.
 int hashCode()
           
 void parse(java.lang.String line)
          Parse a line into name and value pairs
 void setName(java.lang.String name)
          Set the Attribute's name; required
 void setValue(java.lang.String value)
          Set the Attribute's value; required
 void write(java.io.PrintWriter writer)
          Write the attribute out to a print writer without flattening multi-values attributes (i.e.
 void write(java.io.PrintWriter writer, boolean flatten)
          Write the attribute out to a print writer.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Manifest.Attribute

public Manifest.Attribute()
Construct an empty attribute


Manifest.Attribute

public Manifest.Attribute(java.lang.String line)
                   throws ManifestException
Construct an attribute by parsing a line from the Manifest

Parameters:
line - the line containing the attribute name and value
Throws:
ManifestException - if the line is not valid

Manifest.Attribute

public Manifest.Attribute(java.lang.String name,
                          java.lang.String value)
Construct a manifest by specifying its name and value

Parameters:
name - the attribute's name
value - the Attribute's value
Method Detail

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object
Returns:
a hashcode based on the key and values.
See Also:
Object.hashCode()

equals

public boolean equals(java.lang.Object rhs)
Overrides:
equals in class java.lang.Object
Parameters:
rhs - the object to check for equality.
Returns:
true if the key and values are the same.
See Also:
Object.equals(java.lang.Object)

parse

public void parse(java.lang.String line)
           throws ManifestException
Parse a line into name and value pairs

Parameters:
line - the line to be parsed
Throws:
ManifestException - if the line does not contain a colon separating the name and value

setName

public void setName(java.lang.String name)
Set the Attribute's name; required

Parameters:
name - the attribute's name

getName

public java.lang.String getName()
Get the Attribute's name

Returns:
the attribute's name.

getKey

public java.lang.String getKey()
Get the attribute's Key - its name in lower case.

Returns:
the attribute's key.

setValue

public void setValue(java.lang.String value)
Set the Attribute's value; required

Parameters:
value - the attribute's value

getValue

public java.lang.String getValue()
Get the Attribute's value.

Returns:
the attribute's value.

addValue

public void addValue(java.lang.String value)
Add a new value to this attribute - making it multivalued.

Parameters:
value - the attribute's additional value

getValues

public java.util.Enumeration getValues()
Get all the attribute's values.

Returns:
an enumeration of the attributes values

addContinuation

public void addContinuation(java.lang.String line)
Add a continuation line from the Manifest file. When lines are too long in a manifest, they are continued on the next line by starting with a space. This method adds the continuation data to the attribute value by skipping the first character.

Parameters:
line - the continuation line.

write

public void write(java.io.PrintWriter writer)
           throws java.io.IOException
Write the attribute out to a print writer without flattening multi-values attributes (i.e. Class-Path).

Parameters:
writer - the Writer to which the attribute is written
Throws:
java.io.IOException - if the attribute value cannot be written

write

public void write(java.io.PrintWriter writer,
                  boolean flatten)
           throws java.io.IOException
Write the attribute out to a print writer.

Parameters:
writer - the Writer to which the attribute is written
flatten - whether to collapse multi-valued attributes (i.e. potentially Class-Path) Class-Path into a single attribute.
Throws:
java.io.IOException - if the attribute value cannot be written
Since:
Ant 1.8.0