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.DefaultHandlerA 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 IPatternConsumerconsumerprivate intcurrElement(package private) static intELEM_CLASSES(package private) static intELEM_EXCEPTIONS(package private) static intELEM_HYPHEN(package private) static intELEM_PATTERNSprivate java.lang.StringerrMsgprivate java.util.ArrayListexceptionprivate booleanhasClassesprivate charhyphenCharprivate org.xml.sax.XMLReaderparserprivate java.lang.StringBuildertoken
-
Constructor Summary
Constructors Modifier Constructor Description privatePatternParser()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 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)voiderror(org.xml.sax.SAXParseException ex)voidfatalError(org.xml.sax.SAXParseException ex)private java.lang.StringgetExceptionWord(java.util.ArrayList ex)protected voidgetExternalClasses()private static java.lang.StringgetInterletterValues(java.lang.String pat)private java.lang.StringgetLocationString(org.xml.sax.SAXParseException ex)Returns a string of the location.private static java.lang.StringgetPattern(java.lang.String word)private java.util.ArrayListnormalizeException(java.util.ArrayList ex)voidparse(java.io.InputStream stream, java.lang.String name)Parses a hyphenation pattern file.voidparse(java.lang.String filename)Parses a hyphenation pattern file.private java.lang.StringreadToken(java.lang.StringBuilder chars)voidstartElement(java.lang.String uri, java.lang.String local, java.lang.String raw, org.xml.sax.Attributes attrs)voidwarning(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.IOExceptionParses 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 HyphenationExceptionParses 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:
startElementin interfaceorg.xml.sax.ContentHandler- Overrides:
startElementin 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:
endElementin interfaceorg.xml.sax.ContentHandler- Overrides:
endElementin classorg.xml.sax.helpers.DefaultHandler
-
characters
public void characters(char[] ch, int start, int length)- Specified by:
charactersin interfaceorg.xml.sax.ContentHandler- Overrides:
charactersin classorg.xml.sax.helpers.DefaultHandler
-
warning
public void warning(org.xml.sax.SAXParseException ex)
- Specified by:
warningin interfaceorg.xml.sax.ErrorHandler- Overrides:
warningin classorg.xml.sax.helpers.DefaultHandler
-
error
public void error(org.xml.sax.SAXParseException ex)
- Specified by:
errorin interfaceorg.xml.sax.ErrorHandler- Overrides:
errorin classorg.xml.sax.helpers.DefaultHandler
-
fatalError
public void fatalError(org.xml.sax.SAXParseException ex) throws org.xml.sax.SAXException- Specified by:
fatalErrorin interfaceorg.xml.sax.ErrorHandler- Overrides:
fatalErrorin 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.
-
-