Class XMLPersistenceMappingParser
- java.lang.Object
 - 
- org.xml.sax.helpers.DefaultHandler
 - 
- org.apache.openjpa.lib.meta.XMLMetaDataParser
 - 
- org.apache.openjpa.lib.meta.CFMetaDataParser
 - 
- org.apache.openjpa.persistence.XMLPersistenceMetaDataParser
 - 
- org.apache.openjpa.persistence.jdbc.XMLPersistenceMappingParser
 
 
 
 
 
 
- 
- All Implemented Interfaces:
 MetaDataParser,AbstractCFMetaDataFactory.Parser,ContentHandler,DTDHandler,EntityResolver,ErrorHandler,LexicalHandler
public class XMLPersistenceMappingParser extends XMLPersistenceMetaDataParser
Custom SAX parser used by the system to parse persistence mapping files.- Author:
 - Steve Kim
 
 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from class org.apache.openjpa.persistence.XMLPersistenceMetaDataParser
XMLPersistenceMetaDataParser.localDBIdentifiers 
 - 
 
- 
Field Summary
- 
Fields inherited from class org.apache.openjpa.persistence.XMLPersistenceMetaDataParser
_cls, ELEM_ACCESS, ELEM_ATTRS, ELEM_CASCADE, ELEM_CASCADE_ALL, ELEM_CASCADE_DET, ELEM_CASCADE_MER, ELEM_CASCADE_PER, ELEM_CASCADE_REF, ELEM_CASCADE_REM, ELEM_DELIM_IDS, ELEM_LISTENER, ELEM_PKG, ELEM_PU_DEF, ELEM_PU_META, ELEM_XML_MAP_META_COMPLETE 
- 
Fields inherited from class org.apache.openjpa.lib.meta.XMLMetaDataParser
_extendedNamespace, _openjpaNamespace 
 - 
 
- 
Constructor Summary
Constructors Constructor Description XMLPersistenceMappingParser(JDBCConfiguration conf)Constructor; supply configuration. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddDeferredEmbeddableMetaData()Process all deferred embeddables using an unknown access type.protected voidapplyDeferredEmbeddableOverrides(Class<?> cls)Process all deferred embeddable overrides for a given class.protected voidclearDeferredMetaData()protected voidendClassMapping(ClassMetaData meta)Implement to finalize class mapping.protected voidendClassMappingElement(String name)Implement to parse a mapping element within a class.protected voidendFieldMapping(FieldMetaData field)Extend to set the columns.protected voidendSystemMappingElement(String name)Implement to parse a mapping element outside of any class.protected StringnormalizeCatalogName(String catName)protected StringnormalizeSchemaName(String schName)protected StringnormalizeSequenceName(String seqName)protected voidparseEagerFetchModeAttr(FieldMetaData fmd, Attributes attrs)protected voidparseElementClassCriteriaAttr(FieldMetaData fmd, Attributes attrs)protected voidparseStrategy(FieldMetaData fmd, Attributes attrs)protected voidreset()Override this method to clear any state and ready the parser for a new document.protected voidsetTargetIdentifier(Column col, String refColumnName)protected voidstartClassMapping(ClassMetaData meta, boolean mappedSuper, Attributes attrs)Implement to add mapping attributes to class.protected ObjectstartClassMappingElement(String name, Attributes attrs)Implement to parse a mapping element within a class.protected booleanstartDelimitedIdentifiers()protected booleanstartExtendedClass(String elem, Attributes attrs)protected voidstartFieldMapping(FieldMetaData field, Attributes attrs)Extend to clear annotation mapping info.protected booleanstartLob(Attributes attrs)Parse lob.protected booleanstartOrderColumn(Attributes attrs)Process OrderColumn.protected ObjectstartSystemMappingElement(String name, Attributes attrs)Implement to parse a mapping element outside of any class.- 
Methods inherited from class org.apache.openjpa.persistence.XMLPersistenceMetaDataParser
addDeferredEmbeddableMetaData, addToParseList, addToParseList, classForName, currentElement, currentParent, currentStrategy, deferEmbeddable, endClass, endClassElement, endEmbeddedId, endExtendedClass, endGeneratedValue, endId, endIdClass, endLob, endNamedNativeQuery, endNamedQuery, endQueryHint, endQueryString, endSequenceGenerator, endSystemElement, endVersion, getAnnotationParser, getClassAttributeName, getClassElementDepth, getConfiguration, getEnvClassLoader, getMappingOverride, getMode, getPackageAttributeName, getParseClass, getParseList, getRepository, getSchemaSource, isClassElementName, isDeferredEmbeddable, isDuplicateClass, isDuplicateQuery, isMappingMode, isMappingOverrideMode, isMetaDataMode, isQueryMode, isRuntime, parse, parse, parseBasic, parseElementCollection, parseEmbedded, parseListContains, parseManyToMany, parseManyToOne, parseOneToMany, parseOneToOne, peekElement, popElement, pushElement, setAnnotationParser, setCascades, setDeferredEmbeddableAccessType, setEnvClassLoader, setMappingOverride, setMode, setMode, setOrphanRemoval, setRepository, startCascade, startClass, startClassElement, startEmbeddedId, startGeneratedValue, startId, startIdClass, startNamedNativeQuery, startNamedQuery, startQueryHint, startQueryString, startSequenceGenerator, startSystemElement, startVersion 
- 
Methods inherited from class org.apache.openjpa.lib.meta.CFMetaDataParser
classForName, classForName, currentClassName, currentPackage, endElement, endPackage, endPackageElement, getPackageElementDepth, isPackageElementName, startElement, startPackage, startPackageElement 
- 
Methods inherited from class org.apache.openjpa.lib.meta.XMLMetaDataParser
addComments, addResult, characters, clear, comment, currentClassLoader, currentComments, currentDepth, currentLocation, currentText, endCDATA, endDTD, endElement, endEntity, error, fatalError, finish, getClassLoader, getDocType, getException, getException, getException, getLexicalHandler, getLocation, getLog, getOverrideContextClassloader, getParseComments, getParseText, getResults, getSourceFile, getSourceIsSystemId, getSourceName, getSuffix, ignoreContent, isCaching, isParsing, isValidating, parse, parse, parse, parse, parsed, parseNewResource, setCaching, setClassLoader, setDocumentLocator, setLexicalHandler, setLocation, setLog, setOverrideContextClassloader, setParseComments, setParseText, setParsing, setSourceIsSystemId, setSuffix, setValidating, startCDATA, startDTD, startElement, startEntity 
- 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning 
- 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface org.apache.openjpa.lib.meta.MetaDataParser
clear, getResults, parse, parse, parse, parse, setClassLoader 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
XMLPersistenceMappingParser
public XMLPersistenceMappingParser(JDBCConfiguration conf)
Constructor; supply configuration. 
 - 
 
- 
Method Detail
- 
reset
protected void reset()
Description copied from class:CFMetaDataParserOverride this method to clear any state and ready the parser for a new document. Subclasses should callsuper.reset()to clear superclass state.- Overrides:
 resetin classXMLPersistenceMetaDataParser
 
- 
startSystemMappingElement
protected Object startSystemMappingElement(String name, Attributes attrs) throws SAXException
Description copied from class:XMLPersistenceMetaDataParserImplement to parse a mapping element outside of any class.- Overrides:
 startSystemMappingElementin classXMLPersistenceMetaDataParser- Returns:
 - the tag for the given element, or null to skip the element
 - Throws:
 SAXException
 
- 
endSystemMappingElement
protected void endSystemMappingElement(String name) throws SAXException
Description copied from class:XMLPersistenceMetaDataParserImplement to parse a mapping element outside of any class.- Overrides:
 endSystemMappingElementin classXMLPersistenceMetaDataParser- Throws:
 SAXException
 
- 
startClassMappingElement
protected Object startClassMappingElement(String name, Attributes attrs) throws SAXException
Description copied from class:XMLPersistenceMetaDataParserImplement to parse a mapping element within a class.- Overrides:
 startClassMappingElementin classXMLPersistenceMetaDataParser- Returns:
 - the tag for the given element, or null to skip element
 - Throws:
 SAXException
 
- 
endClassMappingElement
protected void endClassMappingElement(String name) throws SAXException
Description copied from class:XMLPersistenceMetaDataParserImplement to parse a mapping element within a class.- Overrides:
 endClassMappingElementin classXMLPersistenceMetaDataParser- Throws:
 SAXException
 
- 
startClassMapping
protected void startClassMapping(ClassMetaData meta, boolean mappedSuper, Attributes attrs) throws SAXException
Description copied from class:XMLPersistenceMetaDataParserImplement to add mapping attributes to class.- Overrides:
 startClassMappingin classXMLPersistenceMetaDataParser- Throws:
 SAXException
 
- 
endClassMapping
protected void endClassMapping(ClassMetaData meta) throws SAXException
Description copied from class:XMLPersistenceMetaDataParserImplement to finalize class mapping.- Overrides:
 endClassMappingin classXMLPersistenceMetaDataParser- Throws:
 SAXException
 
- 
startLob
protected boolean startLob(Attributes attrs) throws SAXException
Description copied from class:XMLPersistenceMetaDataParserParse lob.- Overrides:
 startLobin classXMLPersistenceMetaDataParser- Throws:
 SAXException
 
- 
startFieldMapping
protected void startFieldMapping(FieldMetaData field, Attributes attrs) throws SAXException
Extend to clear annotation mapping info.- Overrides:
 startFieldMappingin classXMLPersistenceMetaDataParser- Throws:
 SAXException
 
- 
endFieldMapping
protected void endFieldMapping(FieldMetaData field) throws SAXException
Extend to set the columns.- Overrides:
 endFieldMappingin classXMLPersistenceMetaDataParser- Throws:
 SAXException
 
- 
startOrderColumn
protected boolean startOrderColumn(Attributes attrs) throws SAXException
Process OrderColumn.- Overrides:
 startOrderColumnin classXMLPersistenceMetaDataParser- Throws:
 SAXException
 
- 
applyDeferredEmbeddableOverrides
protected void applyDeferredEmbeddableOverrides(Class<?> cls) throws SAXException
Process all deferred embeddable overrides for a given class. This should only occur after the embeddable is mapped.- Overrides:
 applyDeferredEmbeddableOverridesin classXMLPersistenceMetaDataParser- Parameters:
 embedType- embeddable classaccess- class level access for embeddable- Throws:
 SAXException
 
- 
clearDeferredMetaData
protected void clearDeferredMetaData()
- Overrides:
 clearDeferredMetaDatain classXMLPersistenceMetaDataParser
 
- 
addDeferredEmbeddableMetaData
protected void addDeferredEmbeddableMetaData()
Process all deferred embeddables using an unknown access type.- Overrides:
 addDeferredEmbeddableMetaDatain classXMLPersistenceMetaDataParser
 
- 
startDelimitedIdentifiers
protected boolean startDelimitedIdentifiers()
- Overrides:
 startDelimitedIdentifiersin classXMLPersistenceMetaDataParser
 
- 
normalizeSequenceName
protected String normalizeSequenceName(String seqName)
- Overrides:
 normalizeSequenceNamein classXMLPersistenceMetaDataParser
 
- 
normalizeSchemaName
protected String normalizeSchemaName(String schName)
- Overrides:
 normalizeSchemaNamein classXMLPersistenceMetaDataParser
 
- 
normalizeCatalogName
protected String normalizeCatalogName(String catName)
- Overrides:
 normalizeCatalogNamein classXMLPersistenceMetaDataParser
 
- 
parseEagerFetchModeAttr
protected void parseEagerFetchModeAttr(FieldMetaData fmd, Attributes attrs) throws SAXException
- Overrides:
 parseEagerFetchModeAttrin classXMLPersistenceMetaDataParser- Throws:
 SAXException
 
- 
parseElementClassCriteriaAttr
protected void parseElementClassCriteriaAttr(FieldMetaData fmd, Attributes attrs) throws SAXException
- Overrides:
 parseElementClassCriteriaAttrin classXMLPersistenceMetaDataParser- Throws:
 SAXException
 
- 
parseStrategy
protected void parseStrategy(FieldMetaData fmd, Attributes attrs)
- Overrides:
 parseStrategyin classXMLPersistenceMetaDataParser
 
- 
startExtendedClass
protected boolean startExtendedClass(String elem, Attributes attrs) throws SAXException
- Overrides:
 startExtendedClassin classCFMetaDataParser- Throws:
 SAXException
 
 - 
 
 -