org.apache.fop.hyphenation

## Class PatternParser

- java.lang.Object
- - org.xml.sax.helpers.DefaultHandler
  - - org.apache.fop.hyphenation.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).

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PatternParser()` Construct a pattern parser.
    `PatternParser(PatternConsumer consumer)` Construct a pattern parser.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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(org.xml.sax.InputSource source)` Parses a hyphenation pattern file.
    `void` | `parse(java.lang.String filename)` 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`

- - ### Constructor Detail

    - #### PatternParser

          public PatternParser()
                        throws HyphenationException

      Construct a pattern parser.
      Throws:
        `HyphenationException` - if a hyphenation exception is raised

    - #### PatternParser

          public PatternParser(PatternConsumer consumer)
                        throws HyphenationException

      Construct a pattern parser.
      Parameters:
        `consumer` - a pattern consumer
      Throws:
        `HyphenationException` - if a hyphenation exception is raised

  - ### 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

Copyright 1999-2021 The Apache Software Foundation. All Rights Reserved.