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

    java.lang.Object
      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.

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.

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