KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > invicta > util > BetterDigester


1 package net.sf.invicta.util;
2
3 import net.sf.invicta.Logger;
4
5 import org.apache.commons.digester.Digester;
6 import org.xml.sax.SAXException JavaDoc;
7 import org.xml.sax.SAXParseException JavaDoc;
8  
9 /**
10  * A class that extends Digester for having better error reporting.
11  *
12  */

13 public class BetterDigester extends Digester {
14     private int errorsCounter = 0;
15     
16     public int getNumberOfErrors() {
17         return this.errorsCounter;
18     }
19     
20     public void clearWithErrors() {
21         clear();
22         this.errorsCounter = 0;
23     }
24     private String JavaDoc getErrMsg(SAXParseException JavaDoc e) {
25         errorsCounter++;
26         return "Parse Error at line "
27             + e.getLineNumber()
28             + " column "
29             + e.getColumnNumber()
30             + ": "
31             + e.getMessage();
32     }
33
34     public void warning(SAXParseException JavaDoc e) throws SAXException JavaDoc {
35         Logger.warn(getErrMsg(e));
36     }
37
38     public void error(SAXParseException JavaDoc e) throws SAXException JavaDoc {
39         Logger.warn(getErrMsg(e));
40     }
41
42     public void fatalError(SAXParseException JavaDoc e) throws SAXException JavaDoc {
43         Logger.error(getErrMsg(e));
44         throw new SAXException JavaDoc(e);
45     }
46 };
Popular Tags