001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: package org.apache.commons.scxml.env;
018:
019: import java.io.Serializable;
020:
021: import org.apache.commons.scxml.ErrorReporter;
022: import org.apache.commons.scxml.SCXMLListener;
023: import org.apache.commons.scxml.model.Transition;
024: import org.apache.commons.scxml.model.TransitionTarget;
025: import org.xml.sax.ErrorHandler;
026: import org.xml.sax.SAXException;
027: import org.xml.sax.SAXParseException;
028:
029: /**
030: * A simple tracer connected to Jakarta Commons Logging.
031: *
032: */
033: public class Tracer implements ErrorHandler, ErrorReporter,
034: SCXMLListener, Serializable {
035:
036: /** Serial version UID. */
037: private static final long serialVersionUID = 1L;
038: /** ErrorHandler delegate. */
039: private ErrorHandler errHandler;
040: /** ErrorReporter delegate. */
041: private ErrorReporter errReporter;
042: /** SCXMLListener delegate. */
043: private SCXMLListener scxmlListener;
044:
045: /**
046: * Constructor.
047: */
048: public Tracer() {
049: super ();
050: errHandler = new SimpleErrorHandler();
051: errReporter = new SimpleErrorReporter();
052: scxmlListener = new SimpleSCXMLListener();
053: }
054:
055: /**
056: * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException)
057: */
058: public void warning(final SAXParseException exception)
059: throws SAXException {
060: errHandler.warning(exception);
061: }
062:
063: /**
064: * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
065: */
066: public void error(final SAXParseException exception)
067: throws SAXException {
068: errHandler.error(exception);
069: }
070:
071: /**
072: * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
073: */
074: public void fatalError(final SAXParseException exception)
075: throws SAXException {
076: errHandler.fatalError(exception);
077: }
078:
079: /**
080: * @see ErrorReporter#onError(String, String, Object)
081: */
082: public void onError(final String errCode, final String errDetail,
083: final Object errCtx) {
084: errReporter.onError(errCode, errDetail, errCtx);
085: }
086:
087: /**
088: * @see SCXMLListener#onEntry(TransitionTarget)
089: */
090: public void onEntry(final TransitionTarget target) {
091: scxmlListener.onEntry(target);
092: }
093:
094: /**
095: * @see SCXMLListener#onExit(TransitionTarget)
096: */
097: public void onExit(final TransitionTarget target) {
098: scxmlListener.onExit(target);
099: }
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: }
|