org.apache.lucene.analysis.compound.hyphenation

## Class PatternParser

- java.lang.Object
- - org.xml.sax.helpers.DefaultHandler
  - - org.apache.lucene.analysis.compound.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 class has been taken from the Apache FOP project (http://xmlgraphics.apache.org/fop/). They have been slightly modified.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PatternParser()`
    `PatternParser(PatternConsumer consumer)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addClass(java.lang.String c)` Add a character class.
    `void` | `addException(java.lang.String w, java.util.ArrayList e)` Add a hyphenation exception.
    `void` | `addPattern(java.lang.String p, java.lang.String v)` Add hyphenation patterns.
    `void` | `characters(char[] ch, int start, int length)`
    `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 java.lang.String` | `getExceptionWord(java.util.ArrayList ex)`
    `protected static java.lang.String` | `getInterletterValues(java.lang.String pat)`
    `protected static java.lang.String` | `getPattern(java.lang.String word)`
    `static void` | `main(java.lang.String[] args)`
    `protected java.util.ArrayList` | `normalizeException(java.util.ArrayList ex)`
    `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.
    `protected java.lang.String` | `readToken(java.lang.StringBuffer chars)`
    `org.xml.sax.InputSource` | `resolveEntity(java.lang.String publicId, java.lang.String systemId)`
    `void` | `setConsumer(PatternConsumer consumer)`
    `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, 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

      Throws:
        `HyphenationException`

    - #### PatternParser

          public PatternParser(PatternConsumer consumer)
                        throws HyphenationException

      Throws:
        `HyphenationException`

  - ### Method Detail

    - #### setConsumer

          public void setConsumer(PatternConsumer consumer)

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

    - #### readToken

          protected java.lang.String readToken(java.lang.StringBuffer chars)

    - #### getPattern

          protected static java.lang.String getPattern(java.lang.String word)

    - #### normalizeException

          protected java.util.ArrayList normalizeException(java.util.ArrayList ex)

    - #### getExceptionWord

          protected java.lang.String getExceptionWord(java.util.ArrayList ex)

    - #### getInterletterValues

          protected static java.lang.String getInterletterValues(java.lang.String pat)

    - #### resolveEntity

          public org.xml.sax.InputSource resolveEntity(java.lang.String publicId,
                                                       java.lang.String systemId)

      Specified by:
        `resolveEntity` in interface `org.xml.sax.EntityResolver`
      Overrides:
        `resolveEntity` in class `org.xml.sax.helpers.DefaultHandler`

    - #### startElement

          public void startElement(java.lang.String uri,
                                   java.lang.String local,
                                   java.lang.String raw,
                                   org.xml.sax.Attributes attrs)

      Specified by:
        `startElement` in interface `org.xml.sax.ContentHandler`
      Overrides:
        `startElement` in class `org.xml.sax.helpers.DefaultHandler`
      See Also:
        `ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)`

    - #### 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`
      See Also:
        `ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)`

    - #### 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`
      See Also:
        `ContentHandler.characters(char[], int, int)`

    - #### 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`
      See Also:
        `ErrorHandler.warning(org.xml.sax.SAXParseException)`

    - #### 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`
      See Also:
        `ErrorHandler.error(org.xml.sax.SAXParseException)`

    - #### 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`
      See Also:
        `ErrorHandler.fatalError(org.xml.sax.SAXParseException)`

    - #### addClass

          public void addClass(java.lang.String c)

      Description copied from interface: `PatternConsumer`
      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)

      Description copied from interface: `PatternConsumer`
      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`

    - #### addPattern

          public void addPattern(java.lang.String p,
                                 java.lang.String v)

      Description copied from interface: `PatternConsumer`
      Add hyphenation patterns.
      Specified by:
        `addPattern` in interface `PatternConsumer`
      Parameters:
        `p` - the pattern
        `v` - interletter values expressed as a string of digit characters.

    - #### main

          public static void main(java.lang.String[] args)
                           throws java.lang.Exception

      Throws:
        `java.lang.Exception`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.