Implemented by the driver of the compiler engine to handle errors found during the compiliation.
This class implements {@link ErrorHandler} so it can bepassed to anywhere where {@link ErrorHandler} is expected.
However, to make the error handling easy (and make it work with visitor patterns nicely), none of the methods on thi class throws {@link org.xml.sax.SAXException}. Instead, when the compilation needs to be aborted, it throws {@link AbortException}, which is unchecked.
This also implements the externally visible {@link ErrorListener}so that we can reuse our internal implementation for testing and such.
@author Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)