Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| SolarMetric Kodo JDO 2.4.3 generated on March 27 2003
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.solarmetric.kodo.meta
Class JDOMetaDataParser

    java.lang.Object
      |
      +--org.xml.sax.helpers.DefaultHandler
            |
            +--com.solarmetric.modules.tools.compiler.MetaDataParser
                  |
                  +--com.solarmetric.modules.tools.compiler.CFMetaDataParser
                        |
                        +--com.solarmetric.kodo.meta.JDOMetaDataParser

All Implemented Interfaces:
  ContentHandler, DTDHandler, EntityResolver, ErrorHandler

public class JDOMetaDataParser
extends com.solarmetric.modules.tools.compiler.CFMetaDataParser

Custom SAX parser used by the system to quickly parse JDO metadata files.

This parser maintains a static cache and will never parse the same source more than once; if it is called with a class or source that has already been parsed, it will return an empty list. This is for general efficiency (otherwise types without metadata will require continuous reparsing of the [package-name].jdo for their package and system.jdo, if they exist), and has the added upside of preventing infinite recursion in scenarious where types in the same [package-name].jdo refer to each other or to non-persistent types in that package.

Constructor Summary
`JDOMetaDataParser(ClassResolver resolver)`

Method Summary
`protected void` | `endClass(String className)`
`protected void` | `endClassElement(String name)`
`protected void` | `endField()`
`protected Reader` | `getDocType()`
`protected String` | `getExtension()`
`Collection` | `parseMetaData(Reader xml, String sourceName, boolean validate)`
`protected void` | `reset()`
`protected void` | `startArray(Attributes attrs)`
`protected void` | `startClass(String className, Attributes attrs)`
`protected void` | `startClassElement(String name, Attributes attrs)`
`protected void` | `startCollection(Attributes attrs)`
`protected void` | `startExtension(Attributes attrs)`
`protected void` | `startField(Attributes attrs)`
`protected void` | `startMap(Attributes attrs)`

Methods inherited from class com.solarmetric.modules.tools.compiler.CFMetaDataParser
`classForName, endElement, getDeclaredClass, getDeclaredPackage, startElement`

Methods inherited from class com.solarmetric.modules.tools.compiler.MetaDataParser
`addMetaData, characters, endElement, error, fatalError, getClassResolver, getText, parseMetaData, parseMetaData, startElement, throwException`

Methods inherited from class org.xml.sax.helpers.DefaultHandler
`endDocument, endPrefixMapping, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JDOMetaDataParser

    public JDOMetaDataParser(ClassResolver resolver)

Method Detail

### parseMetaData

    public Collection parseMetaData(Reader xml,
                                    String sourceName,
                                    boolean validate)
                             throws SAXException

  Overrides:
    `parseMetaData` in class `com.solarmetric.modules.tools.compiler.MetaDataParser`

### getExtension

    protected String getExtension()

  Overrides:
    `getExtension` in class `com.solarmetric.modules.tools.compiler.MetaDataParser`

### reset

    protected void reset()

  Overrides:
    `reset` in class `com.solarmetric.modules.tools.compiler.CFMetaDataParser`

### getDocType

    protected Reader getDocType()
                         throws IOException

  Overrides:
    `getDocType` in class `com.solarmetric.modules.tools.compiler.MetaDataParser`

### startClass

    protected void startClass(String className,
                              Attributes attrs)
                       throws SAXException

  Overrides:
    `startClass` in class `com.solarmetric.modules.tools.compiler.CFMetaDataParser`

### endClass

    protected void endClass(String className)

  Overrides:
    `endClass` in class `com.solarmetric.modules.tools.compiler.CFMetaDataParser`

### startClassElement

    protected void startClassElement(String name,
                                     Attributes attrs)
                              throws SAXException

  Overrides:
    `startClassElement` in class `com.solarmetric.modules.tools.compiler.CFMetaDataParser`

### endClassElement

    protected void endClassElement(String name)
                            throws SAXException

  Overrides:
    `endClassElement` in class `com.solarmetric.modules.tools.compiler.CFMetaDataParser`

### startField

    protected void startField(Attributes attrs)
                       throws SAXException

### endField

    protected void endField()

### startArray

    protected void startArray(Attributes attrs)
                       throws SAXException

### startCollection

    protected void startCollection(Attributes attrs)
                            throws SAXException

### startMap

    protected void startMap(Attributes attrs)
                     throws SAXException

### startExtension

    protected void startExtension(Attributes attrs)

Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| SolarMetric Kodo JDO 2.4.3 generated on March 27 2003
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.