Class PatternParser

  • All Implemented Interfaces:
    PatternConsumer, 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
    implements PatternConsumer

    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 addClass​(java.lang.String c)
      For testing purposes only.
      void addException​(java.lang.String w, java.util.ArrayList e)
      For testing purposes only.
      void addPattern​(java.lang.String p, java.lang.String v)
      For testing purposes only.
      void characters​(char[] ch, int start, int length)
      void closeTestOut()
      Close test out file.
      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)
      protected void getExternalClasses()  
      static void main​(java.lang.String[] args)
      Main entry point when used as an application.
      void parse​(java.io.File file)
      Parses a hyphenation pattern file.
      void parse​(java.lang.String filename)
      Parses a hyphenation pattern file.
      void parse​(org.xml.sax.InputSource source)
      Parses a hyphenation pattern file.
      void setTestOut​(java.io.PrintStream testOut)
      Set test out stream.
      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
    • Method Detail

      • parse

        public void parse​(java.lang.String filename)
                   throws HyphenationException
        Parses a hyphenation pattern file.
        Parameters:
        filename - the filename
        Throws:
        HyphenationException - In case of an exception while parsing
      • parse

        public void parse​(java.io.File file)
                   throws HyphenationException
        Parses a hyphenation pattern file.
        Parameters:
        file - the pattern file
        Throws:
        HyphenationException - In case of an exception while parsing
      • parse

        public void parse​(org.xml.sax.InputSource source)
                   throws HyphenationException
        Parses a hyphenation pattern file.
        Parameters:
        source - the InputSource for the file
        Throws:
        HyphenationException - In case of an exception while parsing
      • 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
      • 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
      • addClass

        public void addClass​(java.lang.String c)
        For testing purposes only. Add a character class. A character class defines characters that are considered equivalent for the purpose of hyphenation (e.g. "aA"). It usually means to ignore case.
        Specified by:
        addClass in interface PatternConsumer
        Parameters:
        c - character group
      • addException

        public void addException​(java.lang.String w,
                                 java.util.ArrayList e)
        For testing purposes only. Add a hyphenation exception. An exception replaces the result obtained by the algorithm for cases for which this fails or the user wants to provide his own hyphenation. A hyphenatedword is a vector of alternating String's and Hyphen instances
        Specified by:
        addException in interface PatternConsumer
        Parameters:
        w - word to add as an exception
        e - pre-hyphenated word
      • addPattern

        public void addPattern​(java.lang.String p,
                               java.lang.String v)
        For testing purposes only. Add hyphenation patterns.
        Specified by:
        addPattern in interface PatternConsumer
        Parameters:
        p - the pattern
        v - interletter values expressed as a string of digit characters.
      • setTestOut

        public void setTestOut​(java.io.PrintStream testOut)
        Set test out stream.
        Parameters:
        testOut - the testOut to set
      • closeTestOut

        public void closeTestOut()
        Close test out file.
      • main

        public static void main​(java.lang.String[] args)
                         throws java.lang.Exception
        Main entry point when used as an application.
        Parameters:
        args - array of command line arguments
        Throws:
        java.lang.Exception - in case of uncaught exception