org.crosswire.common.xml

## Class XMLFeatureSet

- java.lang.Object
- - org.crosswire.common.xml.XMLFeatureSet

-     public final class XMLFeatureSet
      extends Object

  A set of useful XML Features
  Author:
    DM Smith
  See Also:
    `The GNU Lesser General Public License for details.`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `private static class` | `XMLFeatureSet.XMLFeatureState` A holder of the boolean state for a feature.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private Map<String,XMLFeatureSet.XMLFeatureState>` | `features`
    `private Map<XMLFeature,String>` | `states`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XMLFeatureSet()` An XMLFeatureSet with default settings.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `printUsage()` Prints the usage.
    `void` | `setFeatures(XMLReader parser)` Set this XMLFeatureSets state onto an XMLReader.
    `void` | `setFeatureState(XMLFeature feature, boolean state)` Set the state of an XMLFeture in this set.
    `void` | `setFeatureStates(String[] argv)` Allow for XMLFeatures to be set from command line.
    `String` | `toString()`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### features

          private Map<String,XMLFeatureSet.XMLFeatureState> features

    - #### states

          private Map<XMLFeature,String> states

  - ### Constructor Detail

    - #### XMLFeatureSet

          public XMLFeatureSet()

      An XMLFeatureSet with default settings.

  - ### Method Detail

    - #### setFeatureState

          public void setFeatureState(XMLFeature feature,
                             boolean state)

      Set the state of an XMLFeture in this set.
      Parameters:
        `feature` - the XMLFeature to set
        `state` - whether the feature is on or off

    - #### setFeatureStates

          public void setFeatureStates(String[] argv)

      Allow for XMLFeatures to be set from command line.
      Parameters:
        `argv` - the specification of XMLFeatures to turn on or off
      See Also:
        `See printUsage for details`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### printUsage

          public void printUsage()

      Prints the usage.

    - #### setFeatures

          public void setFeatures(XMLReader parser)

      Set this XMLFeatureSets state onto an XMLReader.
      Parameters:
        `parser` - the XMLReader