|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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
public class XMLPersistenceMetaDataParser
Custom SAX parser used by the system to quickly parse persistence metadata files. This parser may invoke another parser to scan source code annotation.
Nested Class Summary | |
---|---|
protected static class |
XMLPersistenceMetaDataParser.localDBIdentifiers
|
Field Summary | |
---|---|
protected Class<?> |
_cls
|
protected static String |
ELEM_ACCESS
|
protected static String |
ELEM_ATTRS
|
protected static String |
ELEM_CASCADE
|
protected static String |
ELEM_CASCADE_ALL
|
protected static String |
ELEM_CASCADE_DET
|
protected static String |
ELEM_CASCADE_MER
|
protected static String |
ELEM_CASCADE_PER
|
protected static String |
ELEM_CASCADE_REF
|
protected static String |
ELEM_CASCADE_REM
|
protected static String |
ELEM_DELIM_IDS
|
protected static String |
ELEM_LISTENER
|
protected static String |
ELEM_PKG
|
protected static String |
ELEM_PU_DEF
|
protected static String |
ELEM_PU_META
|
protected static String |
ELEM_XML_MAP_META_COMPLETE
|
Fields inherited from class org.apache.openjpa.lib.meta.XMLMetaDataParser |
---|
_extendedNamespace, _openjpaNamespace |
Constructor Summary | |
---|---|
XMLPersistenceMetaDataParser(OpenJPAConfiguration conf)
Constructor; supply configuration. |
Method Summary | |
---|---|
protected void |
addDeferredEmbeddableMetaData()
Process all deferred embeddables using an unknown access type. |
protected void |
addDeferredEmbeddableMetaData(Class<?> embedType,
int access)
Process all deferred embeddables and embeddable mapping overrides for a given class. |
void |
addToParseList(ArrayList<Class<?>> parseList)
|
void |
addToParseList(Class<?> parentCls)
|
protected void |
applyDeferredEmbeddableOverrides(Class<?> cls)
|
protected Class<?> |
classForName(String name)
Instantiate the given class, taking into account the default package. |
protected void |
clearDeferredMetaData()
|
protected Object |
currentElement()
Return the current element being parsed. |
protected Object |
currentParent()
Return the tag of the current parent element. |
protected PersistenceStrategy |
currentStrategy()
Return the current PersistenceStrategy if any. |
protected void |
deferEmbeddable(Class<?> embedType,
MetaDataContext fmd)
|
protected void |
endClass(String elem)
End a class. |
protected void |
endClassElement(String name)
Override this method marking the end of an element within a declared class. |
protected void |
endClassMapping(ClassMetaData mapping)
Implement to finalize class mapping. |
protected void |
endClassMappingElement(String name)
Implement to parse a mapping element within a class. |
protected void |
endEmbeddedId()
|
protected void |
endExtendedClass(String elem)
|
protected void |
endFieldMapping(FieldMetaData field)
Implement to finalize field mapping. |
protected void |
endGeneratedValue()
|
protected void |
endId()
|
protected void |
endIdClass()
|
protected void |
endLob()
|
protected void |
endNamedNativeQuery()
|
protected void |
endNamedQuery()
|
protected void |
endQueryHint()
|
protected void |
endQueryString()
|
protected void |
endSequenceGenerator()
|
protected void |
endSystemElement(String name)
Override this method marking the end of an element outside of any package or class. |
protected void |
endSystemMappingElement(String name)
Implement to parse a mapping element outside of any class. |
protected void |
endVersion()
|
AnnotationPersistenceMetaDataParser |
getAnnotationParser()
The annotation parser. |
protected String |
getClassAttributeName()
The attribute of the class element that holds the name, or null to use the element text. |
protected int |
getClassElementDepth()
The depth of the class element. |
OpenJPAConfiguration |
getConfiguration()
Configuration supplied on construction. |
ClassLoader |
getEnvClassLoader()
Return the environmental class loader to pass on to parsed metadata instances. |
boolean |
getMappingOverride()
Whether to allow later parses of mapping information to override earlier information for the same class. |
int |
getMode()
The parse mode according to the expected document type. |
protected String |
getPackageAttributeName()
The attribute of the package element that holds the name, or null to use the element text. |
Class<?> |
getParseClass()
|
ArrayList<Class<?>> |
getParseList()
|
MetaDataRepository |
getRepository()
Returns the repository for this parser. |
protected Object |
getSchemaSource()
Implement to return the XML schema source for the document. |
protected boolean |
isClassElementName(String name)
The name of the class element. |
protected boolean |
isDeferredEmbeddable(Class<?> embedType,
MetaDataContext fmd)
|
protected boolean |
isDuplicateClass(ClassMetaData meta)
Determines whether the ClassMetaData has been resolved more than once. |
protected boolean |
isDuplicateQuery(QueryMetaData meta)
Determines whether the QueryMetaData has been resolved more than once. |
protected boolean |
isMappingMode()
Convenience method for interpreting getMode() . |
protected boolean |
isMappingOverrideMode()
Returns true if we're in mapping mode or in metadata mode with mapping override enabled. |
(package private) boolean |
isMetaDataComplete(Attributes attrs)
|
protected boolean |
isMetaDataMode()
Convenience method for interpreting getMode() . |
protected boolean |
isQueryMode()
Convenience method for interpreting getMode() . |
protected boolean |
isRuntime()
Return whether we're running the parser at runtime. |
protected String |
normalizeCatalogName(String catName)
|
protected String |
normalizeSchemaName(String schName)
|
protected String |
normalizeSequenceName(String seqName)
|
void |
parse(File file)
Parse the given file, which may be a directory, in which case it will be scanned recursively for metadata files. |
void |
parse(URL url)
Parse the given resource. |
protected void |
parseBasic(FieldMetaData fmd,
Attributes attrs)
Parse basic. |
protected void |
parseEagerFetchModeAttr(FieldMetaData fmd,
Attributes attrs)
|
protected void |
parseElementClassCriteriaAttr(FieldMetaData fmd,
Attributes attrs)
|
protected void |
parseElementCollection(FieldMetaData fmd,
Attributes attrs)
|
protected void |
parseEmbedded(FieldMetaData fmd,
Attributes attrs)
Parse embedded. |
boolean |
parseListContains(Class<?> cls)
|
protected void |
parseManyToMany(FieldMetaData fmd,
Attributes attrs)
Parse many-to-many. |
protected void |
parseManyToOne(FieldMetaData fmd,
Attributes attrs)
Parse many-to-one. |
protected void |
parseOneToMany(FieldMetaData fmd,
Attributes attrs)
Parse one-to-many. |
protected void |
parseOneToOne(FieldMetaData fmd,
Attributes attrs)
Parse one-to-one. |
protected void |
parseStrategy(FieldMetaData fmd,
Attributes attrs)
|
protected Object |
peekElement()
Peek a parse element from the stack. |
protected Object |
popElement()
Pop a parse element from the stack. |
protected void |
pushElement(Object elem)
Push a parse element onto the stack. |
protected void |
reset()
Override this method to clear any state and ready the parser for a new document. |
(package private) void |
resetAnnotationParser()
|
void |
setAnnotationParser(AnnotationPersistenceMetaDataParser parser)
The annotation parser. |
protected void |
setCascades(FieldMetaData fmd)
Set the cached cascades into the field. |
protected void |
setDeferredEmbeddableAccessType(Class<?> embedType,
int access)
|
void |
setEnvClassLoader(ClassLoader loader)
Set the environmental class loader to pass on to parsed metadata instances. |
void |
setMappingOverride(boolean override)
Whether to allow later parses of mapping information to override earlier information for the same class. |
void |
setMode(int mode)
The parse mode according to the expected document type. |
void |
setMode(int mode,
boolean on)
The parse mode according to the expected document type. |
protected void |
setOrphanRemoval(ValueMetaData vmd,
boolean orphanRemoval)
|
void |
setRepository(MetaDataRepository repos)
Set the metadata repository for this parser. |
protected boolean |
startCascade(Object tag,
Attributes attrs)
Lazily parse cascades. |
protected boolean |
startClass(String elem,
Attributes attrs)
Start a class. |
protected boolean |
startClassElement(String name,
Attributes attrs)
Override this method marking the start of an element within a declared class. |
protected void |
startClassMapping(ClassMetaData mapping,
boolean mappedSuper,
Attributes attrs)
Implement to add mapping attributes to class. |
protected Object |
startClassMappingElement(String name,
Attributes attrs)
Implement to parse a mapping element within a class. |
protected boolean |
startDelimitedIdentifiers()
|
protected boolean |
startEmbeddedId(Attributes attrs)
Parse embedded-id. |
protected void |
startFieldMapping(FieldMetaData field,
Attributes attrs)
Implement to add field mapping data. |
protected boolean |
startGeneratedValue(Attributes attrs)
Parse generated-value. |
protected boolean |
startId(Attributes attrs)
Parse id. |
protected boolean |
startIdClass(Attributes attrs)
Parse id-class. |
protected boolean |
startLob(Attributes attrs)
Parse lob. |
protected boolean |
startNamedNativeQuery(Attributes attrs)
Parse native-named-query. |
protected boolean |
startNamedQuery(Attributes attrs)
Parse named-query. |
protected boolean |
startOrderColumn(Attributes attrs)
|
protected boolean |
startQueryHint(Attributes attrs)
Parse query-hint. |
protected boolean |
startQueryString(Attributes attrs)
|
protected boolean |
startSequenceGenerator(Attributes attrs)
Parse sequence-generator. |
protected boolean |
startSystemElement(String name,
Attributes attrs)
Override this method marking the start of an element outside of any package or class. |
protected Object |
startSystemMappingElement(String name,
Attributes attrs)
Implement to parse a mapping element outside of any class. |
protected boolean |
startVersion(Attributes attrs)
Parse version. |
Methods inherited from class org.apache.openjpa.lib.meta.CFMetaDataParser |
---|
classForName, classForName, currentClassName, currentPackage, endElement, endPackage, endPackageElement, getPackageElementDepth, isPackageElementName, startElement, startExtendedClass, startPackage, startPackageElement |
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 |
Field Detail |
---|
protected static final String ELEM_PKG
protected static final String ELEM_ACCESS
protected static final String ELEM_ATTRS
protected static final String ELEM_LISTENER
protected static final String ELEM_CASCADE
protected static final String ELEM_CASCADE_ALL
protected static final String ELEM_CASCADE_PER
protected static final String ELEM_CASCADE_MER
protected static final String ELEM_CASCADE_REM
protected static final String ELEM_CASCADE_REF
protected static final String ELEM_CASCADE_DET
protected static final String ELEM_PU_META
protected static final String ELEM_PU_DEF
protected static final String ELEM_XML_MAP_META_COMPLETE
protected static final String ELEM_DELIM_IDS
protected Class<?> _cls
Constructor Detail |
---|
public XMLPersistenceMetaDataParser(OpenJPAConfiguration conf)
Method Detail |
---|
public OpenJPAConfiguration getConfiguration()
public AnnotationPersistenceMetaDataParser getAnnotationParser()
public void setAnnotationParser(AnnotationPersistenceMetaDataParser parser)
public MetaDataRepository getRepository()
getRepository
in interface AbstractCFMetaDataFactory.Parser
public void setRepository(MetaDataRepository repos)
public ClassLoader getEnvClassLoader()
public void setEnvClassLoader(ClassLoader loader)
public boolean getMappingOverride()
public void setMappingOverride(boolean override)
public int getMode()
public void setMode(int mode, boolean on)
public void setMode(int mode)
setMode
in interface AbstractCFMetaDataFactory.Parser
public void parse(URL url) throws IOException
MetaDataParser
parse
in interface MetaDataParser
parse
in class XMLMetaDataParser
IOException
public void parse(File file) throws IOException
MetaDataParser
parse
in interface MetaDataParser
parse
in class XMLMetaDataParser
IOException
protected boolean isMetaDataMode()
getMode()
.
protected boolean isQueryMode()
getMode()
.
protected boolean isMappingMode()
getMode()
.
protected boolean isMappingOverrideMode()
protected void pushElement(Object elem)
protected Object popElement()
protected Object peekElement()
protected Object currentElement()
protected PersistenceStrategy currentStrategy()
PersistenceStrategy
if any.
protected Object currentParent()
protected boolean isRuntime()
protected Object getSchemaSource()
XMLMetaDataParser
String
pointing to schema URI.InputStream
containing schema contents.InputSource
containing schema contents.File
containing schema contents.
getSchemaSource
in class XMLMetaDataParser
protected String getPackageAttributeName()
CFMetaDataParser
getPackageAttributeName
in class CFMetaDataParser
protected String getClassAttributeName()
CFMetaDataParser
getClassAttributeName
in class CFMetaDataParser
protected int getClassElementDepth()
CFMetaDataParser
getClassElementDepth
in class CFMetaDataParser
protected boolean isClassElementName(String name)
CFMetaDataParser
isClassElementName
in class CFMetaDataParser
protected void reset()
CFMetaDataParser
super.reset()
to clear superclass state.
reset
in class CFMetaDataParser
protected boolean startSystemElement(String name, Attributes attrs) throws SAXException
CFMetaDataParser
startSystemElement
in class CFMetaDataParser
SAXException
protected void endSystemElement(String name) throws SAXException
CFMetaDataParser
endSystemElement
in class CFMetaDataParser
SAXException
protected Object startSystemMappingElement(String name, Attributes attrs) throws SAXException
SAXException
protected void endSystemMappingElement(String name) throws SAXException
SAXException
protected boolean startClassElement(String name, Attributes attrs) throws SAXException
CFMetaDataParser
startClassElement
in class CFMetaDataParser
SAXException
protected void endClassElement(String name) throws SAXException
CFMetaDataParser
endClassElement
in class CFMetaDataParser
SAXException
protected Object startClassMappingElement(String name, Attributes attrs) throws SAXException
SAXException
protected void endClassMappingElement(String name) throws SAXException
SAXException
boolean isMetaDataComplete(Attributes attrs)
void resetAnnotationParser()
protected boolean startClass(String elem, Attributes attrs) throws SAXException
CFMetaDataParser
startClass
in class CFMetaDataParser
SAXException
protected void endClass(String elem) throws SAXException
CFMetaDataParser
endClass
in class CFMetaDataParser
SAXException
protected void startClassMapping(ClassMetaData mapping, boolean mappedSuper, Attributes attrs) throws SAXException
SAXException
protected void endClassMapping(ClassMetaData mapping) throws SAXException
SAXException
protected boolean startSequenceGenerator(Attributes attrs)
protected void endSequenceGenerator()
protected boolean startId(Attributes attrs) throws SAXException
SAXException
protected void endId() throws SAXException
SAXException
protected boolean startEmbeddedId(Attributes attrs) throws SAXException
SAXException
protected void endEmbeddedId() throws SAXException
SAXException
protected boolean startIdClass(Attributes attrs) throws SAXException
SAXException
protected void endIdClass() throws SAXException
SAXException
protected boolean startLob(Attributes attrs) throws SAXException
SAXException
protected void endLob() throws SAXException
SAXException
protected boolean startGeneratedValue(Attributes attrs) throws SAXException
SAXException
protected void endGeneratedValue() throws SAXException
SAXException
protected boolean startCascade(Object tag, Attributes attrs) throws SAXException
SAXException
protected void setCascades(FieldMetaData fmd)
protected void startFieldMapping(FieldMetaData field, Attributes attrs) throws SAXException
SAXException
protected void endFieldMapping(FieldMetaData field) throws SAXException
SAXException
protected boolean startVersion(Attributes attrs) throws SAXException
SAXException
protected void endVersion() throws SAXException
SAXException
protected void parseBasic(FieldMetaData fmd, Attributes attrs) throws SAXException
SAXException
protected void parseEmbedded(FieldMetaData fmd, Attributes attrs) throws SAXException
SAXException
protected void parseOneToOne(FieldMetaData fmd, Attributes attrs) throws SAXException
SAXException
protected void parseManyToOne(FieldMetaData fmd, Attributes attrs) throws SAXException
SAXException
protected void parseManyToMany(FieldMetaData fmd, Attributes attrs) throws SAXException
SAXException
protected void parseOneToMany(FieldMetaData fmd, Attributes attrs) throws SAXException
SAXException
protected void setOrphanRemoval(ValueMetaData vmd, boolean orphanRemoval)
protected void parseElementCollection(FieldMetaData fmd, Attributes attrs) throws SAXException
SAXException
protected boolean startNamedQuery(Attributes attrs) throws SAXException
SAXException
protected void endNamedQuery() throws SAXException
SAXException
protected boolean startQueryString(Attributes attrs) throws SAXException
SAXException
protected void endQueryString() throws SAXException
SAXException
protected boolean startQueryHint(Attributes attrs) throws SAXException
SAXException
protected void endQueryHint() throws SAXException
SAXException
protected boolean startNamedNativeQuery(Attributes attrs) throws SAXException
SAXException
protected void endNamedNativeQuery() throws SAXException
SAXException
protected boolean startOrderColumn(Attributes attrs) throws SAXException
SAXException
protected Class<?> classForName(String name) throws SAXException
SAXException
protected void addDeferredEmbeddableMetaData()
protected void addDeferredEmbeddableMetaData(Class<?> embedType, int access) throws SAXException
embedType
- embeddable classaccess
- class level access for embeddable
SAXException
protected void setDeferredEmbeddableAccessType(Class<?> embedType, int access)
protected void clearDeferredMetaData()
clearDeferredMetaData
in class XMLMetaDataParser
protected boolean isDeferredEmbeddable(Class<?> embedType, MetaDataContext fmd)
protected void deferEmbeddable(Class<?> embedType, MetaDataContext fmd)
protected void applyDeferredEmbeddableOverrides(Class<?> cls) throws SAXException
SAXException
public void addToParseList(ArrayList<Class<?>> parseList)
public void addToParseList(Class<?> parentCls)
public boolean parseListContains(Class<?> cls)
public ArrayList<Class<?>> getParseList()
public Class<?> getParseClass()
protected boolean startDelimitedIdentifiers()
protected String normalizeSequenceName(String seqName)
protected String normalizeSchemaName(String schName)
protected String normalizeCatalogName(String catName)
protected boolean isDuplicateClass(ClassMetaData meta)
meta
- The ClassMetaData to inspect.
protected boolean isDuplicateQuery(QueryMetaData meta)
meta
- QueryMetaData that has already been resolved.
protected void parseStrategy(FieldMetaData fmd, Attributes attrs)
protected void parseElementClassCriteriaAttr(FieldMetaData fmd, Attributes attrs) throws SAXException
SAXException
protected void parseEagerFetchModeAttr(FieldMetaData fmd, Attributes attrs) throws SAXException
SAXException
protected void endExtendedClass(String elem) throws SAXException
endExtendedClass
in class CFMetaDataParser
SAXException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |