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:
    ContentHandler, DTDHandler, EntityResolver, ErrorHandler

      public class PatternParser
      extends DefaultHandler

  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` | `characters(char[] ch, int start, int length)`
    `void` | `endElement(String uri, String local, String raw)`
    `protected String` | `getExceptionWord(ArrayList<?> ex)`
    `protected static String` | `getInterletterValues(String pat)`
    `protected static String` | `getPattern(String word)`
    `protected ArrayList<Object>` | `normalizeException(ArrayList<?> ex)`
    `void` | `parse(InputSource source)` Parses a hyphenation pattern file.
    `void` | `parse(String filename)` Parses a hyphenation pattern file.
    `protected String` | `readToken(StringBuilder chars)`
    `InputSource` | `resolveEntity(String publicId, String systemId)`
    `void` | `setConsumer(PatternConsumer consumer)`
    `void` | `startElement(String uri, String local, String raw, Attributes attrs)`

    - ### Methods inherited from class org.xml.sax.helpers.DefaultHandler

      `endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PatternParser

          public PatternParser()

    - #### PatternParser

          public PatternParser(PatternConsumer consumer)

  - ### Method Detail

    - #### setConsumer

          public void setConsumer(PatternConsumer consumer)

    - #### parse

          public void parse(String filename)
                     throws IOException

      Parses a hyphenation pattern file.
      Parameters:
        `filename` - the filename
      Throws:
        `IOException` - In case of an exception while parsing

    - #### parse

          public void parse(InputSource source)
                     throws IOException

      Parses a hyphenation pattern file.
      Parameters:
        `source` - the InputSource for the file
      Throws:
        `IOException` - In case of an exception while parsing

    - #### readToken

          protected String readToken(StringBuilder chars)

    - #### getPattern

          protected static String getPattern(String word)

    - #### normalizeException

          protected ArrayList<Object> normalizeException(ArrayList<?> ex)

    - #### getExceptionWord

          protected String getExceptionWord(ArrayList<?> ex)

    - #### getInterletterValues

          protected static String getInterletterValues(String pat)

    - #### resolveEntity

          public InputSource resolveEntity(String publicId,
                                           String systemId)

      Specified by:
        `resolveEntity` in interface `EntityResolver`
      Overrides:
        `resolveEntity` in class `DefaultHandler`

    - #### startElement

          public void startElement(String uri,
                                   String local,
                                   String raw,
                                   Attributes attrs)

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

    - #### endElement

          public void endElement(String uri,
                                 String local,
                                 String raw)

      Specified by:
        `endElement` in interface `ContentHandler`
      Overrides:
        `endElement` in class `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 `ContentHandler`
      Overrides:
        `characters` in class `DefaultHandler`
      See Also:
        `ContentHandler.characters(char[], int, int)`

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