org.apache.ivy.plugins.parser.xml
Class XmlModuleDescriptorParser

java.lang.Object
  extended by org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser
      extended by 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
static class XmlModuleDescriptorParser.Parser
           
 
Nested classes/interfaces inherited from class org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser
AbstractModuleDescriptorParser.AbstractParser
 
Constructor Summary
protected XmlModuleDescriptorParser()
           
 
Method Summary
 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