All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.topologi.diffx.xml.sax.ReporterHandlerProxy Maven / Gradle / Ivy

There is a newer version: 11.5.0
Show newest version
/*
 * This file is part of the DiffX library.
 *
 * For licensing information please see the file license.txt included in the release.
 * A copy of this licence can also be found at
 *   http://www.opensource.org/licenses/artistic-license-2.0.php
 */
package com.topologi.diffx.xml.sax;

import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;

/**
 * A content handler wrapping another content handler and reporting information about
 * what methods are being called.
 * 
 * @author Christophe Lauret (Allette Systems)
 * @version 26 October 2005
 */
public final class ReporterHandlerProxy implements ContentHandler {

  /**
   * The handler that will receive events.
   */
  private final ContentHandler handler;

  /**
   * Creates a new handler proxy.
   * 
   * @param handler The handler that will receive events.
   */
  public ReporterHandlerProxy(ContentHandler handler) {
    this.handler = handler;
  }

  /**
   * {@inheritDoc}
   */
  public void characters(char[] ch, int start, int length) throws SAXException {
    System.err.println("characters(\"" + new String(ch, start, length) + "\");");
    this.handler.characters(ch, start, length);
  }

  /**
   * {@inheritDoc}
   */
  public void startElement(String uri, String local, String qName, Attributes atts)
      throws SAXException {
    System.err.println("startElement(\""+uri+"\", \""+local+"\", \""+qName+"\");");
    this.handler.startElement(uri, local, qName, atts);
  }

  /**
   * {@inheritDoc}
   */
  public void endElement(String uri, String local, String qName) throws SAXException {
    System.err.println("endElement(\""+uri+"\", \""+local+"\", \""+qName+"\");");
    this.handler.endElement(uri, local, qName);
  }

  /**
   * {@inheritDoc}
   */
  public void startPrefixMapping(String prefix, String uri) throws SAXException {
    System.err.println("startPrefixMapping(\"" + prefix + "\", \"" + uri + "\");");
    this.handler.startPrefixMapping(prefix, uri);
  }

  /**
   * {@inheritDoc}
   */
  public void endPrefixMapping(String prefix) throws SAXException {
    System.err.println("endPrefixMapping(\"" + prefix + "\");");
    this.handler.endPrefixMapping(prefix);
  }

  /**
   * {@inheritDoc}
   */
  public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {
    System.err.println("ignorableWhitespace(\""+new String(ch, start, length)+"\");");
    this.handler.ignorableWhitespace(ch, start, length);
  }

  /**
   * {@inheritDoc}
   */
  public void processingInstruction(String target, String data) throws SAXException {
    System.err.println("processingInstruction(\"" + target + "\", \"" + data + "\");");
    this.handler.processingInstruction(target, data);
  }

  /**
   * {@inheritDoc}
   */
  public void skippedEntity(String name) throws SAXException {
    System.err.println("skippedEntity(\""+name+"\");");
    this.handler.skippedEntity(name);
  }

  /**
   * {@inheritDoc}
   */
  public void setDocumentLocator(Locator locator) {
    this.handler.setDocumentLocator(locator);
  }

  /**
   * {@inheritDoc}
   */
  public void startDocument() throws SAXException {
    System.err.println("startDocument();");
    this.handler.startDocument();
  }

  /**
   * {@inheritDoc}
   */
  public void endDocument() throws SAXException {
    System.err.println("endDocument();");
    this.handler.endDocument();
  }

  /**
   * Returns the content handler.
   * 
   * @return the wrapped content handler.
   */
  public ContentHandler getContentHandler() {
    return this.handler;
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy