Package org.datanucleus.metadata.xml
Class MetaDataParser
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.datanucleus.metadata.xml.MetaDataParser
-
- All Implemented Interfaces:
ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
public class MetaDataParser extends DefaultHandler
Class to provide the parsing framework for parsing metadata files. This will support parsing of any metadata files where the resultant object is derived from org.datanucleus.metadata.MetaData, so can be used on JDO files, ORM files, JDOQUERY files, JPA ORM files, or JPA "persistence.xml" files. Can be used for any future metadata files too.Provides 3 different entry points depending on whether the caller has a URL, a file, or an InputStream.
-
-
Field Summary
Fields Modifier and Type Field Description protected MetaDataEntityResolver
entityResolver
EntityResolver for all XML MetaData.protected MetaDataManager
mgr
MetaData manager.protected boolean
namespaceAware
Whether to support namespaces.protected PluginManager
pluginMgr
Plugin Manager.protected boolean
validate
Whether to validate while parsing.
-
Constructor Summary
Constructors Constructor Description MetaDataParser(MetaDataManager mgr, PluginManager pluginMgr, boolean validate, boolean namespaceAware)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MetaData
parseMetaDataFile(String fileName, String handlerName)
Method to parse a MetaData file given the filename.MetaData
parseMetaDataStream(InputStream in, String filename, String handlerName)
Method to parse a MetaData file given an InputStream.MetaData
parseMetaDataURL(URL url, String handlerName)
Method to parse a MetaData file given the URL of the file.-
Methods inherited from class org.xml.sax.helpers.DefaultHandler
characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning
-
-
-
-
Field Detail
-
entityResolver
protected MetaDataEntityResolver entityResolver
EntityResolver for all XML MetaData.
-
mgr
protected final MetaDataManager mgr
MetaData manager.
-
pluginMgr
protected final PluginManager pluginMgr
Plugin Manager.
-
validate
protected final boolean validate
Whether to validate while parsing.
-
namespaceAware
protected final boolean namespaceAware
Whether to support namespaces.
-
-
Constructor Detail
-
MetaDataParser
public MetaDataParser(MetaDataManager mgr, PluginManager pluginMgr, boolean validate, boolean namespaceAware)
Constructor.- Parameters:
mgr
- MetaDataManagerpluginMgr
- Manager for pluginsvalidate
- Whether to validate while parsingnamespaceAware
- Whether to support namespaces
-
-
Method Detail
-
parseMetaDataURL
public MetaData parseMetaDataURL(URL url, String handlerName)
Method to parse a MetaData file given the URL of the file.- Parameters:
url
- Url of the metadata filehandlerName
- Name of the handler plugin to use when parsing- Returns:
- The MetaData for this file
- Throws:
NucleusException
- thrown if error occurred
-
parseMetaDataFile
public MetaData parseMetaDataFile(String fileName, String handlerName)
Method to parse a MetaData file given the filename.- Parameters:
fileName
- Name of the filehandlerName
- Name of the handler plugin to use when parsing- Returns:
- The MetaData for this file
- Throws:
NucleusException
- if error occurred
-
parseMetaDataStream
public MetaData parseMetaDataStream(InputStream in, String filename, String handlerName)
Method to parse a MetaData file given an InputStream. Closes the input stream when finished.- Parameters:
in
- input streamfilename
- Name of the file (if applicable)handlerName
- Name of the handler plugin to use when parsing- Returns:
- The MetaData for this file
- Throws:
NucleusException
- thrown if error occurred
-
-