org.apache.tools.ant.taskdefs

## Class Manifest.Section

- java.lang.Object
- - org.apache.tools.ant.taskdefs.Manifest.Section

Enclosing class:
  Manifest

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

A manifest section - you can nest attribute elements into sections. A section consists of a set of attribute values, separated from other sections by a blank line.

### Constructor Summary

Constructors
Constructor and Description
`Manifest.Section()`

### Method Summary

Methods
`java.lang.String` `addAttributeAndCheck(Manifest.Attribute attribute)` Add an attribute to the section
`void` `addConfiguredAttribute(Manifest.Attribute attribute)` Add an attribute to the section.
`java.lang.Object` `clone()` Clone this section
`boolean` `equals(java.lang.Object rhs)`
`Manifest.Attribute` `getAttribute(java.lang.String attributeName)` Get a attribute of the section
`java.util.Enumeration<java.lang.String>` `getAttributeKeys()` Get the attribute keys.
`java.lang.String` `getAttributeValue(java.lang.String attributeName)` Get the value of the attribute with the name given.
`java.lang.String` `getName()` Get the Section's name.
`java.util.Enumeration<java.lang.String>` `getWarnings()` Get the warnings for this section.
`int` `hashCode()`
`void` `merge(Manifest.Section section)` Merge in another section without merging Class-Path attributes.
`void` `merge(Manifest.Section section, boolean mergeClassPaths)` Merge in another section
`java.lang.String` `read(java.io.BufferedReader reader)` Read a section through a reader.
`void` `removeAttribute(java.lang.String attributeName)` Remove the given attribute from the section
`void` `setName(java.lang.String name)` The name of the section; optional -default is the main section.
`void` `write(java.io.PrintWriter writer)` Write the section out to a print writer without flattening multi-values attributes (i.e.
`void` `write(java.io.PrintWriter writer, boolean flatten)` Write the section out to a print writer.

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Manifest.Section

    public Manifest.Section()

### Method Detail

#### setName

    public void setName(java.lang.String name)

The name of the section; optional -default is the main section.

Parameters:
  `name` - the section's name

#### getName

    public java.lang.String getName()

Get the Section's name.

Returns:
  the section's name.

#### read

    public java.lang.String read(java.io.BufferedReader reader)
                          throws ManifestException,
                                 java.io.IOException

Read a section through a reader.

Parameters:
  `reader` - the reader from which the section is read
Returns:
  the name of the next section if it has been read as part of this section - This only happens if the Manifest is malformed.
Throws:
  `ManifestException` - if the section is not valid according to the JAR spec
  `java.io.IOException` - if the section cannot be read from the reader.

#### merge

    public void merge(Manifest.Section section)
               throws ManifestException

Merge in another section without merging Class-Path attributes.

Parameters:
  `section` - the section to be merged with this one.
Throws:
  `ManifestException` - if the sections cannot be merged.

#### merge

    public void merge(Manifest.Section section,
             boolean mergeClassPaths)
               throws ManifestException

Merge in another section

Parameters:
  `section` - the section to be merged with this one.
  `mergeClassPaths` - whether Class-Path attributes should be merged.
Throws:
  `ManifestException` - if the sections cannot be merged.

#### write

    public void write(java.io.PrintWriter writer)
               throws java.io.IOException

Write the section out to a print writer without flattening multi-values attributes (i.e. Class-Path).

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

#### write

    public void write(java.io.PrintWriter writer,
             boolean flatten)
               throws java.io.IOException

Write the section out to a print writer.

Parameters:
  `writer` - the Writer to which the section 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 section cannot be written
Since:
  Ant 1.8.0

#### getAttribute

    public Manifest.Attribute getAttribute(java.lang.String attributeName)

Get a attribute of the section

Parameters:
  `attributeName` - the name of the attribute
Returns:
  a Manifest.Attribute instance if the attribute is single-valued, otherwise a Vector of Manifest.Attribute instances.

#### getAttributeKeys

    public java.util.Enumeration<java.lang.String> getAttributeKeys()

Get the attribute keys.

Returns:
  an Enumeration of Strings, each string being the lower case key of an attribute of the section.

#### getAttributeValue

    public java.lang.String getAttributeValue(java.lang.String attributeName)

Get the value of the attribute with the name given.

Parameters:
  `attributeName` - the name of the attribute to be returned.
Returns:
  the attribute's value or null if the attribute does not exist in the section

#### removeAttribute

    public void removeAttribute(java.lang.String attributeName)

Remove the given attribute from the section

Parameters:
  `attributeName` - the name of the attribute to be removed.

#### addConfiguredAttribute

    public void addConfiguredAttribute(Manifest.Attribute attribute)
                                throws ManifestException

Add an attribute to the section.

Parameters:
  `attribute` - the attribute to be added to the section
Throws:
  `ManifestException` - if the attribute is not valid.

#### addAttributeAndCheck

    public java.lang.String addAttributeAndCheck(Manifest.Attribute attribute)
                                          throws ManifestException

Add an attribute to the section

Parameters:
  `attribute` - the attribute to be added.
Returns:
  the value of the attribute if it is a name attribute - null other wise
Throws:
  `ManifestException` - if the attribute already exists in this section.

#### clone

    public java.lang.Object clone()

Clone this section

Overrides:
  `clone` in class `java.lang.Object`
Returns:
  the cloned Section
Since:
  Ant 1.5.2

#### getWarnings

    public java.util.Enumeration<java.lang.String> getWarnings()

Get the warnings for this section.

Returns:
  an Enumeration of warning strings.

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`
Returns:
  a hash value based on the attributes.
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 attributes are the same.
See Also:
  `Object.equals(java.lang.Object)`