|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.xml.sax.helpers.DefaultHandler
org.apache.openjpa.lib.meta.XMLMetaDataParser
org.apache.openjpa.jdbc.schema.XMLSchemaParser
public class XMLSchemaParser
Custom SAX parser used to parse Schema
objects. The parser
will place all parsed schemas into the current SchemaGroup
, set
via the setSchemaGroup(org.apache.openjpa.jdbc.schema.SchemaGroup)
method. This allows parsing of
multiple files into a single schema group.
The parser deserializes from the following XML format:
<!ELEMENT schemas (schema)+>
Schema parsers are not threadsafe.
<!ELEMENT schema (table|sequence)+>
<!ATTLIST schema name CDATA #IMPLIED>
<!ELEMENT table (column|index|pk|fk|unique)+>
<!ATTLIST table name CDATA #REQUIRED>
<!ELEMENT column EMPTY>
<!ATTLIST column name CDATA #REQUIRED>
<!ATTLIST column type (array|bigint|binary|bit|blob|char|clob
|date|decimal|distinct|double|float|integer|java_object
|longvarbinary|longvarchar|null|numeric|other|real|ref|smallint|struct
|time|timstamp|tinyint|varbinary|varchar) #REQUIRED>
<!ATTLIST column type-name CDATA #IMPLIED>
<!ATTLIST column size CDATA #IMPLIED>
<!ATTLIST column decimal-digits CDATA #IMPLIED>
<!ATTLIST column not-null (true|false) "false">
<!ATTLIST column default CDATA #IMPLIED>
<!ATTLIST column auto-assign (true|false) "false">
<!ELEMENT index (on)*>
<!ATTLIST index name CDATA #REQUIRED>
<!ATTLIST index column CDATA #IMPLIED>
<!ATTLIST index unique (true|false) "false">
<!ELEMENT on EMPTY>
<!ATTLIST on column CDATA #REQUIRED>
<!ELEMENT pk (on)*>
<!ATTLIST pk name CDATA #IMPLIED>
<!ATTLIST pk column CDATA #IMPLIED>
<!ELEMENT fk (join)*>
<!ATTLIST fk name CDATA #IMPLIED>
<!ATTLIST fk deferred (true|false) "false">
<!ATTLIST fk column CDATA #IMPLIED>
<!ATTLIST fk to-table CDATA #REQUIRED>
<!ATTLIST fk delete-action (cascade|default|restrict|none|null)
"none">
<!ATTLIST fk update-action (cascade|default|restrict|none|null)
"none">
<!ELEMENT unique (on)*>
<!ATTLIST unique name CDATA #IMPLIED>
<!ATTLIST unique column CDATA #IMPLIED>
<!ATTLIST unique deferred (true|false) "false">
<!ELEMENT join EMPTY>
<!ATTLIST join column CDATA #IMPLIED>
<!ATTLIST join value CDATA #IMPLIED>
<!ATTLIST join to-column CDATA #REQUIRED>
<!ELEMENT sequence EMPTY>
<!ATTLIST sequence name CDATA #REQUIRED>
<!ATTLIST sequence initial-value CDATA #IMPLIED>
<!ATTLIST sequence increment CDATA #IMPLIED>
<!ATTLIST sequence allocate CDATA #IMPLIED>
Nested Class Summary | |
---|---|
static class |
XMLSchemaParser.UniqueInfo
Used to hold unique constraint info before it is resolved. |
Constructor Summary | |
---|---|
XMLSchemaParser(JDBCConfiguration conf)
Constructor. |
Method Summary | |
---|---|
protected void |
endElement(String name)
|
protected void |
finish()
Parse the schema relating to the given class. |
boolean |
getDelayConstraintResolve()
Delay resolution of foreign key constraints until SchemaParser.resolveConstraints() is called. |
protected Reader |
getDocType()
|
SchemaGroup |
getSchemaGroup()
Return the current schema group. |
protected void |
reset()
|
void |
resolveConstraints()
If this parser is in delayed resolve mode, resolve all constraints. |
void |
setDelayConstraintResolve(boolean delay)
Delay resolution of foreign key constraints until SchemaParser.resolveConstraints() is called. |
void |
setSchemaGroup(SchemaGroup group)
Set the current schema group; this clears all state from the last group. |
protected boolean |
startElement(String name,
Attributes attrs)
|
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, getClassLoader, getException, getException, getException, getLexicalHandler, getLocation, getLog, getParseComments, getParseText, getResults, getSchemaSource, getSourceFile, getSourceIsSystemId, getSourceName, getSuffix, ignoreContent, isCaching, isValidating, parse, parse, parse, parse, parse, parse, parsed, parseNewResource, setCaching, setClassLoader, setDocumentLocator, setLexicalHandler, setLocation, setLog, setParseComments, setParseText, 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, parse, parse, setClassLoader |
Constructor Detail |
---|
public XMLSchemaParser(JDBCConfiguration conf)
Method Detail |
---|
public boolean getDelayConstraintResolve()
SchemaParser
SchemaParser.resolveConstraints()
is called. This allows you to parse
multiple resources where a foreign key in one resource might refer
to a table in another.
getDelayConstraintResolve
in interface SchemaParser
public void setDelayConstraintResolve(boolean delay)
SchemaParser
SchemaParser.resolveConstraints()
is called. This allows you to parse
multiple resources where a foreign key in one resource might refer
to a table in another.
setDelayConstraintResolve
in interface SchemaParser
public void resolveConstraints()
SchemaParser
resolveConstraints
in interface SchemaParser
public SchemaGroup getSchemaGroup()
SchemaParser
getSchemaGroup
in interface SchemaParser
public void setSchemaGroup(SchemaGroup group)
SchemaParser
setSchemaGroup
in interface SchemaParser
protected void finish()
finish
in class org.apache.openjpa.lib.meta.XMLMetaDataParser
protected void reset()
reset
in class org.apache.openjpa.lib.meta.XMLMetaDataParser
protected Reader getDocType() throws IOException
getDocType
in class org.apache.openjpa.lib.meta.XMLMetaDataParser
IOException
protected boolean startElement(String name, Attributes attrs) throws SAXException
startElement
in class org.apache.openjpa.lib.meta.XMLMetaDataParser
SAXException
protected void endElement(String name)
endElement
in class org.apache.openjpa.lib.meta.XMLMetaDataParser
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |