org.apache.ivy.plugins.parser.xml

## Class XmlModuleDescriptorParser

- java.lang.Object
- - org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser
  - - org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser

- All Implemented Interfaces:
    ModuleDescriptorParser

      public class XmlModuleDescriptorParser
      extends AbstractModuleDescriptorParser

  Parses an xml ivy file and output a ModuleDescriptor. For dependency and performance reasons, it uses only the SAX API, which makes the parsing code harder to understand.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `XmlModuleDescriptorParser.Parser`

    - ### Nested classes/interfaces inherited from class org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser

      `AbstractModuleDescriptorParser.AbstractParser`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `XmlModuleDescriptorParser()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `accept(Resource res)`
    `static XmlModuleDescriptorParser` | `getInstance()`
    `protected XmlModuleDescriptorParser.Parser` | `newParser(ParserSettings ivySettings)` Instantiates a Parser instance responsible for actual parsing of Ivy files.
    `ModuleDescriptor` | `parseDescriptor(ParserSettings ivySettings, java.net.URL xmlURL, Resource res, boolean validate)`
    `void` | `toIvyFile(java.io.InputStream is, Resource res, java.io.File destFile, ModuleDescriptor md)` Convert a module descriptor to an ivy file.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser

      `getMetadataArtifact, getType, parseDescriptor`

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

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

- - ### Constructor Detail

    - #### XmlModuleDescriptorParser

          protected XmlModuleDescriptorParser()

  - ### Method Detail

    - #### getInstance

          public static XmlModuleDescriptorParser getInstance()

    - #### parseDescriptor

          public ModuleDescriptor parseDescriptor(ParserSettings ivySettings,
                                         java.net.URL xmlURL,
                                         Resource res,
                                         boolean validate)
                                           throws java.text.ParseException,
                                                  java.io.IOException

      Parameters:
        `settings` -
        `xmlURL` - the url pointing to the file to parse
        `res` - the real resource to parse, used for log only
        `validate` -
      Returns:
      Throws:
        `java.text.ParseException`
        `java.io.IOException`

    - #### newParser

          protected XmlModuleDescriptorParser.Parser newParser(ParserSettings ivySettings)

      Instantiates a Parser instance responsible for actual parsing of Ivy files.

      Override this method if you want to use a custom Parser.

      Parameters:
        `ivySettings` - the settings to use during parsing
      Returns:
        the Parser instance used for parsing Ivy files

    - #### accept

          public boolean accept(Resource res)

    - #### toIvyFile

          public void toIvyFile(java.io.InputStream is,
                       Resource res,
                       java.io.File destFile,
                       ModuleDescriptor md)
                         throws java.io.IOException,
                                java.text.ParseException

      Description copied from interface: `ModuleDescriptorParser`
      Convert a module descriptor to an ivy file. This method MUST close the given input stream when job is finished
      Parameters:
        `is` - input stream with opened on original module descriptor resource
      Throws:
        `java.io.IOException`
        `java.text.ParseException`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`