maiolum.xml.index
Class BibleContentHandler

java.lang.Object
  extended bymaiolum.xml.index.BibleContentHandler
All Implemented Interfaces:
org.xml.sax.ContentHandler

public class BibleContentHandler
extends java.lang.Object
implements org.xml.sax.ContentHandler

SAX ContentHandler; creates Lucene documents from matched verses to be stored in index. BibleContentHandler is an implementation of SAX ContentHandler. It treats each tag content as separate Lucene document; when a tag is matched and its parsing is finished, new Lucene Document is created and passed through VerseRetriever class, thus notifying related class.


Field Summary
private  java.lang.StringBuffer cBuffer
          Used to gather text-node data in the element.
private  Edition edition
           
private  boolean ignoreElement
           
private  java.lang.String lastBook
           
private  java.lang.String lastChapter
           
private  java.lang.String lastVerse
           
private  org.xml.sax.Locator locator
          Locator determining current position in the document
private static org.apache.log4j.Logger logger
           
private  java.util.Vector observers
           
 
Constructor Summary
BibleContentHandler()
          Standard empty constructor
 
Method Summary
 void attach(VerseDocumentObserver o)
           
 void detach(VerseDocumentObserver o)
           
 void endDocument()
           
 void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
           
 void endPrefixMapping(java.lang.String prefix)
           
 Edition getEdition()
           
 void characters(char[] ch, int start, int length)
           
 void ignorableWhitespace(char[] ch, int start, int length)
           
 void notifyObservers(org.apache.lucene.document.Document doc)
           
 void processingInstruction(java.lang.String target, java.lang.String data)
           
 void setDocumentLocator(org.xml.sax.Locator locator)
           
 void setEdition(Edition edition)
           
 void skippedEntity(java.lang.String name)
           
 void startDocument()
           
 void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
           
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static org.apache.log4j.Logger logger

locator

private org.xml.sax.Locator locator
Locator determining current position in the document


cBuffer

private java.lang.StringBuffer cBuffer
Used to gather text-node data in the element. This is because CDATA belonging to single node may be emitted by multiple calls of characters() method.


edition

private Edition edition

observers

private java.util.Vector observers

lastBook

private java.lang.String lastBook

lastChapter

private java.lang.String lastChapter

lastVerse

private java.lang.String lastVerse

ignoreElement

private boolean ignoreElement
Constructor Detail

BibleContentHandler

public BibleContentHandler()
Standard empty constructor

Method Detail

attach

public void attach(VerseDocumentObserver o)

detach

public void detach(VerseDocumentObserver o)

notifyObservers

public void notifyObservers(org.apache.lucene.document.Document doc)

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)
Specified by:
setDocumentLocator in interface org.xml.sax.ContentHandler

startElement

public void startElement(java.lang.String namespaceURI,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes atts)
                  throws org.xml.sax.SAXException
Specified by:
startElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endElement

public void endElement(java.lang.String namespaceURI,
                       java.lang.String localName,
                       java.lang.String qName)
                throws org.xml.sax.SAXException
Specified by:
endElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Specified by:
characters in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Specified by:
startDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Specified by:
endDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
Specified by:
startPrefixMapping in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
Specified by:
endPrefixMapping in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws org.xml.sax.SAXException
Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
Specified by:
processingInstruction in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

skippedEntity

public void skippedEntity(java.lang.String name)
                   throws org.xml.sax.SAXException
Specified by:
skippedEntity in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

setEdition

public void setEdition(Edition edition)

getEdition

public Edition getEdition()