Package com.itextpdf.layout.hyphenation
Class PatternParser
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- com.itextpdf.layout.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 work was authored by Carlos Villegas (cav@uniscope.co.jp).
-
-
Field Summary
Fields Modifier and Type Field Description private IPatternConsumer
consumer
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
private java.lang.String
errMsg
private java.util.ArrayList
exception
private boolean
hasClasses
private char
hyphenChar
private org.xml.sax.XMLReader
parser
private java.lang.StringBuilder
token
-
Constructor Summary
Constructors Modifier Constructor Description private
PatternParser()
Construct a pattern parser.PatternParser(IPatternConsumer consumer)
Construct a pattern parser.
-
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)
void
error(org.xml.sax.SAXParseException ex)
void
fatalError(org.xml.sax.SAXParseException ex)
private java.lang.String
getExceptionWord(java.util.ArrayList ex)
protected void
getExternalClasses()
private static java.lang.String
getInterletterValues(java.lang.String pat)
private java.lang.String
getLocationString(org.xml.sax.SAXParseException ex)
Returns a string of the location.private static java.lang.String
getPattern(java.lang.String word)
private java.util.ArrayList
normalizeException(java.util.ArrayList ex)
void
parse(java.io.InputStream stream, java.lang.String name)
Parses a hyphenation pattern file.void
parse(java.lang.String filename)
Parses a hyphenation pattern file.private java.lang.String
readToken(java.lang.StringBuilder chars)
void
startElement(java.lang.String uri, java.lang.String local, java.lang.String raw, org.xml.sax.Attributes attrs)
void
warning(org.xml.sax.SAXParseException ex)
-
-
-
Field Detail
-
parser
private org.xml.sax.XMLReader parser
-
currElement
private int currElement
-
consumer
private IPatternConsumer consumer
-
token
private java.lang.StringBuilder token
-
exception
private java.util.ArrayList exception
-
hyphenChar
private char hyphenChar
-
errMsg
private java.lang.String errMsg
-
hasClasses
private boolean hasClasses
-
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
private PatternParser()
Construct a pattern parser.
-
PatternParser
public PatternParser(IPatternConsumer consumer)
Construct a pattern parser.- Parameters:
consumer
- a pattern consumer
-
-
Method Detail
-
parse
public void parse(java.lang.String filename) throws HyphenationException, java.io.IOException
Parses a hyphenation pattern file.- Parameters:
filename
- the filename- Throws:
HyphenationException
- In case of an exception while parsingjava.io.FileNotFoundException
- If the specified file is not foundjava.io.IOException
-
parse
public void parse(java.io.InputStream stream, java.lang.String name) throws HyphenationException
Parses a hyphenation pattern file.- Parameters:
stream
- the InputStream for the filename
- unique key representing country-language combination- Throws:
HyphenationException
- 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
private java.lang.String readToken(java.lang.StringBuilder chars)
-
getPattern
private static java.lang.String getPattern(java.lang.String word)
-
normalizeException
private java.util.ArrayList normalizeException(java.util.ArrayList ex)
-
getExceptionWord
private java.lang.String getExceptionWord(java.util.ArrayList ex)
-
getInterletterValues
private static java.lang.String getInterletterValues(java.lang.String pat)
-
getExternalClasses
protected void getExternalClasses() throws org.xml.sax.SAXException
- Throws:
org.xml.sax.SAXException
- if not caught
-
startElement
public void startElement(java.lang.String uri, java.lang.String local, java.lang.String raw, org.xml.sax.Attributes attrs) throws org.xml.sax.SAXException
- Specified by:
startElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
startElement
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
- if parsing of hyphenation classes resource xml has failed.
-
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
-
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
-
warning
public void warning(org.xml.sax.SAXParseException ex)
- Specified by:
warning
in interfaceorg.xml.sax.ErrorHandler
- Overrides:
warning
in classorg.xml.sax.helpers.DefaultHandler
-
error
public void error(org.xml.sax.SAXParseException ex)
- Specified by:
error
in interfaceorg.xml.sax.ErrorHandler
- Overrides:
error
in classorg.xml.sax.helpers.DefaultHandler
-
fatalError
public void fatalError(org.xml.sax.SAXParseException ex) throws org.xml.sax.SAXException
- Specified by:
fatalError
in interfaceorg.xml.sax.ErrorHandler
- Overrides:
fatalError
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
getLocationString
private java.lang.String getLocationString(org.xml.sax.SAXParseException ex)
Returns a string of the location.
-
-