Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tools.ant.taskdefs.optional.ejb
Class DescriptorHandler

    java.lang.Object
      |
      +--org.xml.sax.HandlerBase
            |
            +--org.apache.tools.ant.taskdefs.optional.ejb.DescriptorHandler

All Implemented Interfaces:
  org.xml.sax.DocumentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

public class DescriptorHandler
extends org.xml.sax.HandlerBase

Inner class used by EjbJar to facilitate the parsing of deployment descriptors and the capture of appropriate information. Extends HandlerBase so it only implements the methods needed. During parsing creates a hashtable consisting of entries mapping the name it should be inserted into an EJB jar as to a File representing the file on disk. This list can then be accessed through the getFiles() method.

Field Summary
`protected java.lang.String` | `currentElement` Instance variable used to store the name of the current element being processed by the SAX parser.
`protected java.lang.String` | `currentText` The text of the current element
`protected java.util.Hashtable` | `ejbFiles` Instance variable that stores the names of the files as they will be put into the jar file, mapped to File objects Accessed by the SAX parser call-back method characters().

Constructor Summary
`DescriptorHandler(java.io.File srcDir)`

Method Summary
`void` | `characters(char[] ch, int start, int length)` SAX parser call-back method invoked whenever characters are located within an element.
`void` | `endElement(java.lang.String name)` SAX parser call-back method that is invoked when an element is exited.
`java.util.Hashtable` | `getFiles()` Getter method that returns the set of files to include in the EJB jar.
`protected void` | `processElement()`
`void` | `registerDTD(java.lang.String publicId, java.lang.String location)`
`org.xml.sax.InputSource` | `resolveEntity(java.lang.String publicId, java.lang.String systemId)`
`void` | `startDocument()` SAX parser call-back method that is used to initialize the values of some instance variables to ensure safe operation.
`void` | `startElement(java.lang.String name, org.xml.sax.AttributeList attrs)` SAX parser call-back method that is invoked when a new element is entered into.

Methods inherited from class org.xml.sax.HandlerBase
`endDocument, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, setDocumentLocator, unparsedEntityDecl, warning`

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

Field Detail

### currentElement

    protected java.lang.String currentElement

  Instance variable used to store the name of the current element being processed by the SAX parser. Accessed by the SAX parser call-back methods startElement() and endElement().

### currentText

    protected java.lang.String currentText

  The text of the current element

### ejbFiles

    protected java.util.Hashtable ejbFiles

  Instance variable that stores the names of the files as they will be put into the jar file, mapped to File objects Accessed by the SAX parser call-back method characters().

Constructor Detail

### DescriptorHandler

    public DescriptorHandler(java.io.File srcDir)

Method Detail

### registerDTD

    public void registerDTD(java.lang.String publicId,
                            java.lang.String location)

### resolveEntity

    public org.xml.sax.InputSource resolveEntity(java.lang.String publicId,
                                                 java.lang.String systemId)
                                          throws org.xml.sax.SAXException

  Overrides:
    `resolveEntity` in class `org.xml.sax.HandlerBase`

### getFiles

    public java.util.Hashtable getFiles()

  Getter method that returns the set of files to include in the EJB jar.

### startDocument

    public void startDocument()
                       throws org.xml.sax.SAXException

  SAX parser call-back method that is used to initialize the values of some instance variables to ensure safe operation.
  Overrides:
    `startDocument` in class `org.xml.sax.HandlerBase`

### startElement

    public void startElement(java.lang.String name,
                             org.xml.sax.AttributeList attrs)
                      throws org.xml.sax.SAXException

  SAX parser call-back method that is invoked when a new element is entered into. Used to store the context (attribute name) in the currentAttribute instance variable.
  Overrides:
    `startElement` in class `org.xml.sax.HandlerBase`
  Parameters:
    `name` - The name of the element being entered.
    `attrs` - Attributes associated to the element.

### endElement

    public void endElement(java.lang.String name)
                    throws org.xml.sax.SAXException

  SAX parser call-back method that is invoked when an element is exited. Used to blank out (set to the empty string, not nullify) the name of the currentAttribute. A better method would be to use a stack as an instance variable, however since we are only interested in leaf-node data this is a simpler and workable solution.
  Overrides:
    `endElement` in class `org.xml.sax.HandlerBase`
  Parameters:
    `name` - The name of the attribute being exited. Ignored in this implementation.

### characters

    public void characters(char[] ch,
                           int start,
                           int length)
                    throws org.xml.sax.SAXException

  SAX parser call-back method invoked whenever characters are located within an element. currentAttribute (modified by startElement and endElement) tells us whether we are in an interesting element (one of the up to four classes of an EJB). If so then converts the classname from the format org.apache.tools.ant.Parser to the convention for storing such a class, org/apache/tools/ant/Parser.class. This is then resolved into a file object under the srcdir which is stored in a Hashtable.
  Overrides:
    `characters` in class `org.xml.sax.HandlerBase`
  Parameters:
    `ch` - A character array containing all the characters in the element, and maybe others that should be ignored.
    `start` - An integer marking the position in the char array to start reading from.
    `length` - An integer representing an offset into the char array where the current data terminates.

### processElement

    protected void processElement()

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000 Apache Software Foundation. All Rights Reserved.