org.apache.batik.parser
Class AbstractParser

java.lang.Object
  extended by org.apache.batik.parser.AbstractParser
All Implemented Interfaces:
Localizable, Parser
Direct Known Subclasses:
LengthParser, NumberParser, PreserveAspectRatioParser, TimingParser

public abstract class AbstractParser
extends Object
implements Parser

This class is the superclass of all parsers. It provides localization and error handling methods.


Field Summary
static String BUNDLE_CLASSNAME
          The default resource bundle base name.
protected  int current
          The current character.
protected  ErrorHandler errorHandler
          The error handler.
protected  LocalizableSupport localizableSupport
          The localizable support.
protected  NormalizingReader reader
          The normalizing reader.
 
Constructor Summary
AbstractParser()
           
 
Method Summary
protected  String createErrorMessage(String key, Object[] args)
          Returns a localized error message.
protected abstract  void doParse()
          Method responsible for actually parsing data after AbstractParser has initialized itself.
 String formatMessage(String key, Object[] args)
          Implements Localizable.formatMessage(String,Object[]).
protected  String getBundleClassName()
          Returns the resource bundle base name.
 int getCurrent()
          Returns the current character value.
 Locale getLocale()
          Implements Localizable.getLocale().
 void parse(InputStream is, String enc)
          Parses the given input stream.
 void parse(Reader r)
          Parses the given reader
 void parse(String s)
          Parses the given string.
protected  void reportCharacterExpectedError(char expectedChar, int currentChar)
          simple api to call often reported error.
protected  void reportError(String key, Object[] args)
          Signals an error to the error handler.
protected  void reportUnexpectedCharacterError(int currentChar)
          simple api to call often reported error.
 void setErrorHandler(ErrorHandler handler)
          Allow an application to register an error event handler.
 void setLocale(Locale l)
          Implements Localizable.setLocale(Locale).
protected  void skipCommaSpaces()
          Skips the whitespaces and an optional comma.
protected  void skipSpaces()
          Skips the whitespaces in the current reader.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BUNDLE_CLASSNAME

public static final String BUNDLE_CLASSNAME
The default resource bundle base name.

See Also:
Constant Field Values

errorHandler

protected ErrorHandler errorHandler
The error handler.


localizableSupport

protected LocalizableSupport localizableSupport
The localizable support.


reader

protected NormalizingReader reader
The normalizing reader.


current

protected int current
The current character.

Constructor Detail

AbstractParser

public AbstractParser()
Method Detail

getCurrent

public int getCurrent()
Returns the current character value.


setLocale

public void setLocale(Locale l)
Implements Localizable.setLocale(Locale).

Specified by:
setLocale in interface Localizable
Parameters:
l - The locale to set.

getLocale

public Locale getLocale()
Implements Localizable.getLocale().

Specified by:
getLocale in interface Localizable

formatMessage

public String formatMessage(String key,
                            Object[] args)
                     throws MissingResourceException
Implements Localizable.formatMessage(String,Object[]).

Specified by:
formatMessage in interface Localizable
Parameters:
key - The key used to retreive the message from the resource bundle.
args - The objects that compose the message.
Throws:
MissingResourceException - if the key is not in the bundle.

setErrorHandler

public void setErrorHandler(ErrorHandler handler)
Allow an application to register an error event handler.

If the application does not register an error event handler, all error events reported by the parser will cause an exception to be thrown.

Applications may register a new or different handler in the middle of a parse, and the parser must begin using the new handler immediately.

Specified by:
setErrorHandler in interface Parser
Parameters:
handler - The error handler.

parse

public void parse(Reader r)
           throws ParseException
Parses the given reader

Specified by:
parse in interface Parser
Throws:
ParseException

parse

public void parse(InputStream is,
                  String enc)
           throws ParseException
Parses the given input stream. If the encoding is null, ISO-8859-1 is used.

Throws:
ParseException

parse

public void parse(String s)
           throws ParseException
Parses the given string.

Specified by:
parse in interface Parser
Throws:
ParseException

doParse

protected abstract void doParse()
                         throws ParseException,
                                IOException
Method responsible for actually parsing data after AbstractParser has initialized itself.

Throws:
ParseException
IOException

reportError

protected void reportError(String key,
                           Object[] args)
                    throws ParseException
Signals an error to the error handler.

Parameters:
key - The message key in the resource bundle.
args - The message arguments.
Throws:
ParseException

reportCharacterExpectedError

protected void reportCharacterExpectedError(char expectedChar,
                                            int currentChar)
simple api to call often reported error. Just a wrapper for reportError().

Parameters:
expectedChar - what caller expected
currentChar - what caller found

reportUnexpectedCharacterError

protected void reportUnexpectedCharacterError(int currentChar)
simple api to call often reported error. Just a wrapper for reportError().

Parameters:
currentChar - what the caller found and didnt expect

createErrorMessage

protected String createErrorMessage(String key,
                                    Object[] args)
Returns a localized error message.

Parameters:
key - The message key in the resource bundle.
args - The message arguments.

getBundleClassName

protected String getBundleClassName()
Returns the resource bundle base name.

Returns:
BUNDLE_CLASSNAME.

skipSpaces

protected void skipSpaces()
                   throws IOException
Skips the whitespaces in the current reader.

Throws:
IOException

skipCommaSpaces

protected void skipCommaSpaces()
                        throws IOException
Skips the whitespaces and an optional comma.

Throws:
IOException


Copyright © 2008 Apache Software Foundation. All Rights Reserved.