Class CFMetaDataParser

All Implemented Interfaces:
MetaDataParser, ContentHandler, DTDHandler, EntityResolver, ErrorHandler, LexicalHandler
Direct Known Subclasses:
XMLPersistenceMetaDataParser

public class CFMetaDataParser extends XMLMetaDataParser
Custom SAX parser used by the system to quickly parse metadata files for classes.
Author:
Abe White
  • Constructor Details

    • CFMetaDataParser

      public CFMetaDataParser()
  • Method Details

    • isPackageElementName

      protected boolean isPackageElementName(String name)
      The name of the package element. Defaults to "package".
    • getPackageAttributeName

      protected String getPackageAttributeName()
      The attribute of the package element that holds the name, or null to use the element text. Defaults to "name".
    • getPackageElementDepth

      protected int getPackageElementDepth()
      The depth of the package element. Defaults to 1.
    • isClassElementName

      protected boolean isClassElementName(String name)
      The name of the class element. Defaults to "class".
    • getClassAttributeName

      protected String getClassAttributeName()
      The attribute of the class element that holds the name, or null to use the element text. Defaults to "name".
    • getClassElementDepth

      protected int getClassElementDepth()
      The depth of the class element. Defaults to 2.
    • startElement

      protected boolean startElement(String name, Attributes attrs) throws SAXException
      Description copied from class: XMLMetaDataParser
      Override this method marking the start of some element. If this method returns false, the content of the element and the end element event will be ignored.
      Specified by:
      startElement in class XMLMetaDataParser
      Throws:
      SAXException
    • endElement

      protected void endElement(String name) throws SAXException
      Description copied from class: XMLMetaDataParser
      Override this method marking the end of some element.
      Specified by:
      endElement in class XMLMetaDataParser
      Throws:
      SAXException
    • startPackage

      protected boolean startPackage(String elem, Attributes attrs) throws SAXException
      Start a package. Parses out package attribute by default. Return false to skip package element and its contents.
      Throws:
      SAXException
    • endPackage

      protected void endPackage(String elem)
      End a package. Parses contained text by default.
    • startClass

      protected boolean startClass(String elem, Attributes attrs) throws SAXException
      Start a class. Parses out class name by default. Return false to skip class element and its contents.
      Throws:
      SAXException
    • endClass

      protected void endClass(String elem) throws SAXException
      End a class. Parses contained text by default.
      Throws:
      SAXException
    • startExtendedClass

      protected boolean startExtendedClass(String elem, Attributes attrs) throws SAXException
      Throws:
      SAXException
    • endExtendedClass

      protected void endExtendedClass(String elem) throws SAXException
      Throws:
      SAXException
    • startSystemElement

      protected boolean startSystemElement(String name, Attributes attrs) throws SAXException
      Override this method marking the start of an element outside of any package or class.
      Throws:
      SAXException
    • endSystemElement

      protected void endSystemElement(String name) throws SAXException
      Override this method marking the end of an element outside of any package or class.
      Throws:
      SAXException
    • startPackageElement

      protected boolean startPackageElement(String name, Attributes attrs) throws SAXException
      Override this method marking the start of an element within a declared package.
      Throws:
      SAXException
    • endPackageElement

      protected void endPackageElement(String name) throws SAXException
      Override this method marking the end of an element within a declared package.
      Throws:
      SAXException
    • startClassElement

      protected boolean startClassElement(String name, Attributes attrs) throws SAXException
      Override this method marking the start of an element within a declared class.
      Throws:
      SAXException
    • endClassElement

      protected void endClassElement(String name) throws SAXException
      Override this method marking the end of an element within a declared class.
      Throws:
      SAXException
    • reset

      protected void reset()
      Override this method to clear any state and ready the parser for a new document. Subclasses should call super.reset() to clear superclass state.
      Overrides:
      reset in class XMLMetaDataParser
    • currentClassName

      protected String currentClassName()
      Return the current class being parsed; the returned name will be fully qualified.
    • currentPackage

      protected String currentPackage()
      Return the current package being parsed.
    • classForName

      protected Class<?> classForName(String name, boolean resolve) throws SAXException
      Helper method to create the Class for the given name, taking into account the package currently being parsed for relative class names.
      Throws:
      SAXException
    • classForName

      public static Class<?> classForName(String name, String pkg, boolean resolve, ClassLoader loader)
      Load the given class name against the given package and the set of accepted standard packages. Return null if the class cannot be loaded.