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.DefaultHandler
A 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) PatternConsumer
consumer
(package private) int
currElement
(package private) static int
ELEM_CLASSES
(package private) static int
ELEM_EXCEPTIONS
(package private) static int
ELEM_HYPHEN
(package private) static int
ELEM_PATTERNS
(package private) java.lang.String
errMsg
(package private) java.util.ArrayList<java.lang.Object>
exception
(package private) char
hyphenChar
(package private) org.xml.sax.XMLReader
parser
(package private) java.lang.StringBuilder
token
-
Constructor Summary
Constructors Constructor Description PatternParser()
PatternParser(PatternConsumer consumer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
characters(char[] ch, int start, int length)
(package private) static org.xml.sax.XMLReader
createParser()
Creates a SAX parser using JAXPvoid
endElement(java.lang.String uri, java.lang.String local, java.lang.String raw)
protected java.lang.String
getExceptionWord(java.util.ArrayList<?> ex)
protected static java.lang.String
getInterletterValues(java.lang.String pat)
protected static java.lang.String
getPattern(java.lang.String word)
protected java.util.ArrayList<java.lang.Object>
normalizeException(java.util.ArrayList<?> ex)
void
parse(java.lang.String filename)
Parses a hyphenation pattern file.void
parse(org.xml.sax.InputSource source)
Parses a hyphenation pattern file.protected java.lang.String
readToken(java.lang.StringBuilder chars)
org.xml.sax.InputSource
resolveEntity(java.lang.String publicId, java.lang.String systemId)
void
setConsumer(PatternConsumer consumer)
void
startElement(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.IOException
Parses 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.IOException
Parses 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:
resolveEntity
in interfaceorg.xml.sax.EntityResolver
- Overrides:
resolveEntity
in 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:
startElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
startElement
in 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:
endElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
endElement
in 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:
characters
in interfaceorg.xml.sax.ContentHandler
- Overrides:
characters
in classorg.xml.sax.helpers.DefaultHandler
- See Also:
ContentHandler.characters(char[], int, int)
-
-