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