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
`static class` `XmlModuleDescriptorParser.Parser`

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

`AbstractModuleDescriptorParser.AbstractParser`

### Constructor Summary

Constructors
`protected` `XmlModuleDescriptorParser()`

### Method Summary

Methods
`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`