org.apache.fop.hyphenation

## Class PatternParser

- java.lang.Object
- - org.xml.sax.helpers.DefaultHandler
  - - org.apache.fop.hyphenation.PatternParser

All Implemented Interfaces:
  PatternConsumer, ContentHandler, DTDHandler, EntityResolver, ErrorHandler

    public class PatternParser
    extends 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
`void` `addClass(String c)` For testing purposes only.
`void` `addException(String w, ArrayList e)` For testing purposes only.
`void` `addPattern(String p, String v)` For testing purposes only.
`void` `characters(char[] ch, int start, int length)`
`void` `closeTestOut()` Close test out file.
`void` `endElement(String uri, String local, String raw)`
`void` `error(SAXParseException ex)`
`void` `fatalError(SAXParseException ex)`
`protected void` `getExternalClasses()`
`static void` `main(String[] args)` Main entry point when used as an application.
`void` `parse(File file)` Parses a hyphenation pattern file.
`void` `parse(InputSource source)` Parses a hyphenation pattern file.
`void` `parse(String filename)` Parses a hyphenation pattern file.
`void` `setTestOut(PrintStream testOut)` Set test out stream.
`void` `startElement(String uri, String local, String raw, Attributes attrs)`
`void` `warning(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(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(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(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 SAXException

Throws:
  `SAXException` - if not caught

#### startElement

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

Specified by:
  `startElement` in interface `ContentHandler`
Overrides:
  `startElement` in class `DefaultHandler`
Throws:
  `SAXException`

#### endElement

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

Specified by:
  `endElement` in interface `ContentHandler`
Overrides:
  `endElement` in class `DefaultHandler`

#### characters

    public void characters(char[] ch,
                           int start,
                           int length)

Specified by:
  `characters` in interface `ContentHandler`
Overrides:
  `characters` in class `DefaultHandler`

#### warning

    public void warning(SAXParseException ex)

Specified by:
  `warning` in interface `ErrorHandler`
Overrides:
  `warning` in class `DefaultHandler`

#### error

    public void error(SAXParseException ex)

Specified by:
  `error` in interface `ErrorHandler`
Overrides:
  `error` in class `DefaultHandler`

#### fatalError

    public void fatalError(SAXParseException ex)
                    throws SAXException

Specified by:
  `fatalError` in interface `ErrorHandler`
Overrides:
  `fatalError` in class `DefaultHandler`
Throws:
  `SAXException`

#### addClass

    public void addClass(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(String w,
                             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(String p,
                           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(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(String[] args)
                     throws Exception

Main entry point when used as an application.

Parameters:
  `args` - array of command line arguments
Throws:
  `Exception` - in case of uncaught exception