org.jboss.metadata
Class XmlFileLoader

java.lang.Object
  extended byorg.jboss.metadata.XmlFileLoader

public class XmlFileLoader
extends java.lang.Object

XmlFileLoader class is used to read ejb-jar.xml, standardjboss.xml, jboss.xml files, process them using DTDs and create ApplicationMetaData object for future use. It also provides the local entity resolver for the JBoss specific DTDs.


Constructor Summary
XmlFileLoader()
           
XmlFileLoader(boolean validateDTDs)
           
 
Method Summary
 java.lang.ClassLoader getClassLoader()
          Gets the class loader
static boolean getDefaultValidateDTDs()
           
 org.w3c.dom.Document getDocument(org.xml.sax.InputSource is, java.lang.String inPath)
          Parses the xml document in is to create a DOM Document.
 org.w3c.dom.Document getDocument(java.io.InputStream is, java.lang.String inPath)
          Parses the xml document in is to create a DOM Document.
static org.w3c.dom.Document getDocument(java.net.URL url)
          Invokes getDocument(url, defaultValidateDTDs)
static org.w3c.dom.Document getDocument(java.net.URL url, boolean validateDTDs)
          Get the xml file from the URL and parse it into a Document object.
 org.w3c.dom.Document getDocumentFromURL(java.net.URL url)
          Get the xml file from the URL and parse it into a Document object.
 ApplicationMetaData (src) getMetaData()
           
 boolean getValidateDTDs()
          Get the flag indicating that ejb-jar.dtd, jboss.dtd & jboss-web.dtd conforming documents should be validated against the DTD.
 ApplicationMetaData (src) load(java.net.URL alternativeDD)
          Creates the ApplicationMetaData.
 void setClassLoader(java.net.URLClassLoader cl)
          Set the class loader
static void setDefaultValidateDTDs(boolean validate)
           
 void setValidateDTDs(boolean validate)
          Set the flag indicating that ejb-jar.dtd, jboss.dtd & jboss-web.dtd conforming documents should be validated against the DTD.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XmlFileLoader

public XmlFileLoader()

XmlFileLoader

public XmlFileLoader(boolean validateDTDs)
Method Detail

getDefaultValidateDTDs

public static boolean getDefaultValidateDTDs()

setDefaultValidateDTDs

public static void setDefaultValidateDTDs(boolean validate)

getMetaData

public ApplicationMetaData (src)  getMetaData()

setClassLoader

public void setClassLoader(java.net.URLClassLoader cl)
Set the class loader


getClassLoader

public java.lang.ClassLoader getClassLoader()
Gets the class loader

Returns:
ClassLoader - the class loader

getValidateDTDs

public boolean getValidateDTDs()
Get the flag indicating that ejb-jar.dtd, jboss.dtd & jboss-web.dtd conforming documents should be validated against the DTD.


setValidateDTDs

public void setValidateDTDs(boolean validate)
Set the flag indicating that ejb-jar.dtd, jboss.dtd & jboss-web.dtd conforming documents should be validated against the DTD.


load

public ApplicationMetaData (src)  load(java.net.URL alternativeDD)
                         throws java.lang.Exception
Creates the ApplicationMetaData. The configuration files are found in the classLoader when not explicitly given as the alternativeDD. The default jboss.xml and jaws.xml files are always read first, then we override the defaults if the user provides them

Parameters:
alternativeDD - a URL to the alternative DD given in application.xml
Throws:
java.lang.Exception

getDocument

public static org.w3c.dom.Document getDocument(java.net.URL url)
                                        throws DeploymentException (src) 
Invokes getDocument(url, defaultValidateDTDs)

Throws:
DeploymentException (src)

getDocument

public static org.w3c.dom.Document getDocument(java.net.URL url,
                                               boolean validateDTDs)
                                        throws DeploymentException (src) 
Get the xml file from the URL and parse it into a Document object. Calls new XmlFileLoader(validateDTDs).getDocumentFromURL(url);

Parameters:
url - the URL from which the xml doc is to be obtained.
Returns:
Document
Throws:
DeploymentException (src)

getDocumentFromURL

public org.w3c.dom.Document getDocumentFromURL(java.net.URL url)
                                        throws DeploymentException (src) 
Get the xml file from the URL and parse it into a Document object. Calls getDocument(new InputSource(url.openStream()), url.getPath()) with the InputSource.SystemId set to url.toExternalForm().

Parameters:
url - the URL from which the xml doc is to be obtained.
Returns:
Document
Throws:
DeploymentException (src)

getDocument

public org.w3c.dom.Document getDocument(java.io.InputStream is,
                                        java.lang.String inPath)
                                 throws DeploymentException (src) 
Parses the xml document in is to create a DOM Document. DTD validation is enabled if validateDTDs is true and we install an EntityResolver and ErrorHandler to resolve J2EE DTDs and handle errors. We also create an InputSource for the InputStream and set the SystemId URI to the inPath value. This allows relative entity references to be resolved against the inPath URI. The is argument will be closed.

Parameters:
is - the InputStream containing the xml descriptor to parse
inPath - the path information for the xml doc. This is used as the InputSource SystemId URI for resolving relative entity references.
Returns:
Document
Throws:
DeploymentException (src)

getDocument

public org.w3c.dom.Document getDocument(org.xml.sax.InputSource is,
                                        java.lang.String inPath)
                                 throws DeploymentException (src) 
Parses the xml document in is to create a DOM Document. DTD validation is enabled if validateDTDs is true and we install an EntityResolver and ErrorHandler to resolve J2EE DTDs and handle errors. We also create an InputSource for the InputStream and set the SystemId URI to the inPath value. This allows relative entity references to be resolved against the inPath URI.

Parameters:
is - the InputSource containing the xml descriptor to parse
inPath - the path information for the xml doc. This is used for only for error reporting.
Returns:
Document
Throws:
DeploymentException (src)