1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.scxml.env;
19
20 import org.apache.commons.scxml.ErrorReporter;
21 import org.apache.commons.scxml.SCXMLListener;
22 import org.apache.commons.scxml.model.Transition;
23 import org.apache.commons.scxml.model.TransitionTarget;
24
25 import org.xml.sax.ErrorHandler;
26 import org.xml.sax.SAXException;
27 import org.xml.sax.SAXParseException;
28
29 /***
30 * A simple tracer connected to Jakarta Commons Logging.
31 *
32 */
33 public class Tracer implements ErrorHandler, ErrorReporter, SCXMLListener {
34
35 /*** ErrorHandler delegate. */
36 private ErrorHandler errHandler;
37 /*** ErrorReporter delegate. */
38 private ErrorReporter errReporter;
39 /*** SCXMLListener delegate. */
40 private SCXMLListener scxmlListener;
41
42 /***
43 * Constructor.
44 */
45 public Tracer() {
46 super();
47 errHandler = new SimpleErrorHandler();
48 errReporter = new SimpleErrorReporter();
49 scxmlListener = new SimpleSCXMLListener();
50 }
51
52 /***
53 * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException)
54 */
55 public void warning(final SAXParseException exception)
56 throws SAXException {
57 errHandler.warning(exception);
58 }
59
60 /***
61 * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
62 */
63 public void error(final SAXParseException exception)
64 throws SAXException {
65 errHandler.error(exception);
66 }
67
68 /***
69 * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
70 */
71 public void fatalError(final SAXParseException exception)
72 throws SAXException {
73 errHandler.fatalError(exception);
74 }
75
76 /***
77 * @see ErrorReporter#onError(String, String, Object)
78 */
79 public void onError(final String errCode, final String errDetail,
80 final Object errCtx) {
81 errReporter.onError(errCode, errDetail, errCtx);
82 }
83
84 /***
85 * @see SCXMLListener#onEntry(TransitionTarget)
86 */
87 public void onEntry(final TransitionTarget target) {
88 scxmlListener.onEntry(target);
89 }
90
91 /***
92 * @see SCXMLListener#onExit(TransitionTarget)
93 */
94 public void onExit(final TransitionTarget target) {
95 scxmlListener.onExit(target);
96 }
97
98 /***
99 * @see SCXMLListener#onTransition(TransitionTarget,TransitionTarget,Transition)
100 */
101 public void onTransition(final TransitionTarget from,
102 final TransitionTarget to, final Transition transition) {
103 scxmlListener.onTransition(from, to, transition);
104 }
105
106 }
107