Class PatternParser
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.apache.lucene.analysis.compound.hyphenation.PatternParser
-
- All Implemented Interfaces:
org.xml.sax.ContentHandler,org.xml.sax.DTDHandler,org.xml.sax.EntityResolver,org.xml.sax.ErrorHandler
public class PatternParser extends org.xml.sax.helpers.DefaultHandlerA SAX document handler to read and parse hyphenation patterns from a XML file. This class has been taken from the Apache FOP project (http://xmlgraphics.apache.org/fop/). They have been slightly modified.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) PatternConsumerconsumer(package private) intcurrElement(package private) static intELEM_CLASSES(package private) static intELEM_EXCEPTIONS(package private) static intELEM_HYPHEN(package private) static intELEM_PATTERNS(package private) java.lang.StringerrMsg(package private) java.util.ArrayList<java.lang.Object>exception(package private) charhyphenChar(package private) org.xml.sax.XMLReaderparser(package private) java.lang.StringBuildertoken
-
Constructor Summary
Constructors Constructor Description PatternParser()PatternParser(PatternConsumer consumer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcharacters(char[] ch, int start, int length)(package private) static org.xml.sax.XMLReadercreateParser()Creates a SAX parser using JAXPvoidendElement(java.lang.String uri, java.lang.String local, java.lang.String raw)protected java.lang.StringgetExceptionWord(java.util.ArrayList<?> ex)protected static java.lang.StringgetInterletterValues(java.lang.String pat)private java.lang.StringgetLocationString(org.xml.sax.SAXParseException ex)Returns a string of the location.protected static java.lang.StringgetPattern(java.lang.String word)protected java.util.ArrayList<java.lang.Object>normalizeException(java.util.ArrayList<?> ex)voidparse(java.lang.String filename)Parses a hyphenation pattern file.voidparse(org.xml.sax.InputSource source)Parses a hyphenation pattern file.protected java.lang.StringreadToken(java.lang.StringBuilder chars)org.xml.sax.InputSourceresolveEntity(java.lang.String publicId, java.lang.String systemId)voidsetConsumer(PatternConsumer consumer)voidstartElement(java.lang.String uri, java.lang.String local, java.lang.String raw, org.xml.sax.Attributes attrs)
-
-
-
Field Detail
-
parser
org.xml.sax.XMLReader parser
-
currElement
int currElement
-
consumer
PatternConsumer consumer
-
token
java.lang.StringBuilder token
-
exception
java.util.ArrayList<java.lang.Object> exception
-
hyphenChar
char hyphenChar
-
errMsg
java.lang.String errMsg
-
ELEM_CLASSES
static final int ELEM_CLASSES
- See Also:
- Constant Field Values
-
ELEM_EXCEPTIONS
static final int ELEM_EXCEPTIONS
- See Also:
- Constant Field Values
-
ELEM_PATTERNS
static final int ELEM_PATTERNS
- See Also:
- Constant Field Values
-
ELEM_HYPHEN
static final int ELEM_HYPHEN
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PatternParser
public PatternParser()
-
PatternParser
public PatternParser(PatternConsumer consumer)
-
-
Method Detail
-
setConsumer
public void setConsumer(PatternConsumer consumer)
-
parse
public void parse(java.lang.String filename) throws java.io.IOExceptionParses a hyphenation pattern file.- Parameters:
filename- the filename- Throws:
java.io.IOException- In case of an exception while parsing
-
parse
public void parse(org.xml.sax.InputSource source) throws java.io.IOExceptionParses a hyphenation pattern file.- Parameters:
source- the InputSource for the file- Throws:
java.io.IOException- In case of an exception while parsing
-
createParser
static org.xml.sax.XMLReader createParser()
Creates a SAX parser using JAXP- Returns:
- the created SAX parser
-
readToken
protected java.lang.String readToken(java.lang.StringBuilder chars)
-
getPattern
protected static java.lang.String getPattern(java.lang.String word)
-
normalizeException
protected java.util.ArrayList<java.lang.Object> normalizeException(java.util.ArrayList<?> ex)
-
getExceptionWord
protected java.lang.String getExceptionWord(java.util.ArrayList<?> ex)
-
getInterletterValues
protected static java.lang.String getInterletterValues(java.lang.String pat)
-
resolveEntity
public org.xml.sax.InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId)- Specified by:
resolveEntityin interfaceorg.xml.sax.EntityResolver- Overrides:
resolveEntityin classorg.xml.sax.helpers.DefaultHandler
-
startElement
public void startElement(java.lang.String uri, java.lang.String local, java.lang.String raw, org.xml.sax.Attributes attrs)- Specified by:
startElementin interfaceorg.xml.sax.ContentHandler- Overrides:
startElementin classorg.xml.sax.helpers.DefaultHandler- See Also:
ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
-
endElement
public void endElement(java.lang.String uri, java.lang.String local, java.lang.String raw)- Specified by:
endElementin interfaceorg.xml.sax.ContentHandler- Overrides:
endElementin classorg.xml.sax.helpers.DefaultHandler- See Also:
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
-
characters
public void characters(char[] ch, int start, int length)- Specified by:
charactersin interfaceorg.xml.sax.ContentHandler- Overrides:
charactersin classorg.xml.sax.helpers.DefaultHandler- See Also:
ContentHandler.characters(char[], int, int)
-
getLocationString
private java.lang.String getLocationString(org.xml.sax.SAXParseException ex)
Returns a string of the location.
-
-