Package org.datanucleus.api.jdo.metadata
Class JDOXmlMetaDataHandler
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.datanucleus.metadata.xml.AbstractXmlMetaDataHandler
-
- org.datanucleus.api.jdo.metadata.JDOXmlMetaDataHandler
-
- All Implemented Interfaces:
ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
public class JDOXmlMetaDataHandler extends org.datanucleus.metadata.xml.AbstractXmlMetaDataHandler
Parser handler for JDO XML MetaData. Caters for "JDO", "ORM" and "JDOQUERY" XML MetaData. Implements DefaultHandler and handles the extracting of MetaData for JDO from the XML elements/attributes. This class simply constructs the MetaData representation mirroring what is in the XML MetaData file. It has no knowledge of the class(es) that it represents, simply the information in the XML MetaData file. The knowledge of the classes is imposed on the representation at a later stage where necessary.Operates the parse process using a Stack. XML MetaData components are added to the stack as they are encountered and created. They are then popped off the stack when the end element is encountered.
-
-
Constructor Summary
Constructors Constructor Description JDOXmlMetaDataHandler(org.datanucleus.metadata.MetaDataManager mgr, String filename, EntityResolver resolver)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
endElement(String uri, String localName, String qName)
Handler method called at the end of an element.protected org.datanucleus.metadata.ClassMetaData
newClassObject(org.datanucleus.metadata.PackageMetaData pmd, Attributes attrs)
Utility to create a new class component.protected org.datanucleus.metadata.FieldMetaData
newFieldObject(org.datanucleus.metadata.MetaData md, Attributes attrs)
Utility to create a new field component.protected org.datanucleus.metadata.InterfaceMetaData
newInterfaceObject(org.datanucleus.metadata.PackageMetaData pmd, Attributes attrs)
Utility to create a new interface component.protected org.datanucleus.metadata.PropertyMetaData
newPropertyObject(org.datanucleus.metadata.MetaData md, Attributes attrs)
Utility to create a new property component.void
startElement(String uri, String localName, String qName, Attributes attrs)
Handler method called at the start of an element.-
Methods inherited from class org.datanucleus.metadata.xml.AbstractXmlMetaDataHandler
characters, error, getAttr, getAttr, getMetaData, getStack, getString, isPersistenceContext, popStack, pushStack, resolveEntity, setValidate
-
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, fatalError, ignorableWhitespace, notationDecl, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
-
-
-
-
Constructor Detail
-
JDOXmlMetaDataHandler
public JDOXmlMetaDataHandler(org.datanucleus.metadata.MetaDataManager mgr, String filename, EntityResolver resolver)
Constructor. Protected to prevent instantiation.- Parameters:
mgr
- the metadata managerfilename
- The name of the file to parseresolver
- Entity Resolver to use (null if not available)
-
-
Method Detail
-
newClassObject
protected org.datanucleus.metadata.ClassMetaData newClassObject(org.datanucleus.metadata.PackageMetaData pmd, Attributes attrs)
Utility to create a new class component.- Parameters:
pmd
- The parent PackageMetaDataattrs
- The attributes- Returns:
- The ClassMetaData
-
newInterfaceObject
protected org.datanucleus.metadata.InterfaceMetaData newInterfaceObject(org.datanucleus.metadata.PackageMetaData pmd, Attributes attrs)
Utility to create a new interface component.- Parameters:
pmd
- The parent PackageMetaDataattrs
- The attributes- Returns:
- The InterfaceMetaData
-
newFieldObject
protected org.datanucleus.metadata.FieldMetaData newFieldObject(org.datanucleus.metadata.MetaData md, Attributes attrs)
Utility to create a new field component.- Parameters:
md
- The parent MetaDataattrs
- The attributes- Returns:
- The FieldMetaData
-
newPropertyObject
protected org.datanucleus.metadata.PropertyMetaData newPropertyObject(org.datanucleus.metadata.MetaData md, Attributes attrs)
Utility to create a new property component.- Parameters:
md
- The parent MetaDataattrs
- The attributes- Returns:
- The PropertyMetaData
-
startElement
public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException
Handler method called at the start of an element.- Specified by:
startElement
in interfaceContentHandler
- Overrides:
startElement
in classDefaultHandler
- Parameters:
uri
- URI of the taglocalName
- Local nameqName
- Element nameattrs
- Attributes for this element- Throws:
SAXException
- in parsing errors
-
endElement
public void endElement(String uri, String localName, String qName) throws SAXException
Handler method called at the end of an element.- Specified by:
endElement
in interfaceContentHandler
- Overrides:
endElement
in classDefaultHandler
- Parameters:
uri
- URI of the taglocalName
- local nameqName
- Name of element just ending- Throws:
SAXException
- in parsing errors
-
-