Class 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).

    • 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 JAXP
      void 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)
      • Methods inherited from class org.xml.sax.helpers.DefaultHandler

        endDocument, endPrefixMapping, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • parser

        private org.xml.sax.XMLReader parser
      • currElement

        private int currElement
      • 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
    • 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.FileNotFoundException
        Parses a hyphenation pattern file.
        Parameters:
        filename - the filename
        Throws:
        HyphenationException - In case of an exception while parsing
        java.io.FileNotFoundException - If the specified file is not found
      • 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 file
        name - 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 interface org.xml.sax.ContentHandler
        Overrides:
        startElement in class org.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 interface org.xml.sax.ContentHandler
        Overrides:
        endElement in class org.xml.sax.helpers.DefaultHandler
      • characters

        public void characters​(char[] ch,
                               int start,
                               int length)
        Specified by:
        characters in interface org.xml.sax.ContentHandler
        Overrides:
        characters in class org.xml.sax.helpers.DefaultHandler
      • warning

        public void warning​(org.xml.sax.SAXParseException ex)
        Specified by:
        warning in interface org.xml.sax.ErrorHandler
        Overrides:
        warning in class org.xml.sax.helpers.DefaultHandler
      • error

        public void error​(org.xml.sax.SAXParseException ex)
        Specified by:
        error in interface org.xml.sax.ErrorHandler
        Overrides:
        error in class org.xml.sax.helpers.DefaultHandler
      • fatalError

        public void fatalError​(org.xml.sax.SAXParseException ex)
                        throws org.xml.sax.SAXException
        Specified by:
        fatalError in interface org.xml.sax.ErrorHandler
        Overrides:
        fatalError in class org.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.