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(). |
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 |
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().
DescriptorHandler
public DescriptorHandler(java.io.File srcDir)
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()
Copyright ? 2000 Apache Software Foundation. All Rights Reserved.