## 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
`Manifest.Section()`

Method Summary
`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` `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` `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 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 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)`