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

Constructors
Constructor and Description
`Attribute()` Construct an empty attribute
`Attribute(java.lang.String line)` Construct an attribute by parsing a line from the Manifest
`Attribute(java.lang.String name, java.lang.String value)` Construct a manifest by specifying its name and value

### Method Summary

All Methods Instance Methods Concrete Methods
`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<java.lang.String>` `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

#### Attribute

    public Attribute()

Construct an empty attribute

#### Attribute

    public 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

#### Attribute

    public 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<java.lang.String> 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