Package 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 | 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

Modifier and Type | Method | Description
--- | --- | ---
`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 Details

### 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 Details

### 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