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

net.java.textilej.util.LoggingXMLStreamWriter Maven / Gradle / Ivy

The newest version!
package net.java.textilej.util;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

public class LoggingXMLStreamWriter implements XmlStreamWriter {

	private XmlStreamWriter delegate;
	private Logger logger = Logger.getLogger(LoggingXMLStreamWriter.class.getName());

	private List elementNames = new ArrayList();
	
	public LoggingXMLStreamWriter(XmlStreamWriter delegate) {
		this.delegate = delegate;
	}

	public void close() {
		delegate.close();
	}

	public void flush() {
		delegate.flush();
	}

	public String getPrefix(String uri) {
		return delegate.getPrefix(uri);
	}

	public void setDefaultNamespace(String uri) {
		delegate.setDefaultNamespace(uri);
	}

	public void setPrefix(String prefix, String uri) {
		delegate.setPrefix(prefix, uri);
	}

	public void writeAttribute(String prefix, String namespaceURI,
			String localName, String value) {
		delegate.writeAttribute(prefix, namespaceURI, localName, value);
	}

	public void writeAttribute(String namespaceURI, String localName,
			String value) {
		delegate.writeAttribute(namespaceURI, localName, value);
	}

	public void writeAttribute(String localName, String value) {
		delegate.writeAttribute(localName, value);
	}

	public void writeCData(String data) {
		delegate.writeCData(data);
	}

	public void writeCharacters(char[] text, int start, int len) {
		delegate.writeCharacters(text, start, len);
	}

	public void writeCharacters(String text) {
		delegate.writeCharacters(text);
	}

	public void writeLiteral(String literal) {
		delegate.writeLiteral(literal);
	}

	public void writeComment(String data) {
		delegate.writeComment(data);
	}

	public void writeDefaultNamespace(String namespaceURI) {
		delegate.writeDefaultNamespace(namespaceURI);
	}

	public void writeDTD(String dtd) {
		delegate.writeDTD(dtd);
	}

	public void writeEmptyElement(String prefix, String localName,
			String namespaceURI) {
		logger.info("Empty element["+elementNames.size()+"] "+localName);
		delegate.writeEmptyElement(prefix, localName, namespaceURI);
	}

	public void writeEmptyElement(String namespaceURI, String localName)
			{
		logger.info("Empty element["+elementNames.size()+"] "+localName);
		delegate.writeEmptyElement(namespaceURI, localName);
	}

	public void writeEmptyElement(String localName) {
		logger.info("Empty element["+elementNames.size()+"] "+localName);
		delegate.writeEmptyElement(localName);
	}

	public void writeEndDocument() {
		delegate.writeEndDocument();
	}

	public void writeEndElement() {
		if (elementNames.size() == 0) {
			throw new IllegalStateException("Too many end elements");
		}
		logger.info("End element["+elementNames.size()+"]: "+elementNames);
		elementNames.remove(elementNames.size()-1);
		delegate.writeEndElement();
	}

	public void writeEntityRef(String name) {
		delegate.writeEntityRef(name);
	}

	public void writeNamespace(String prefix, String namespaceURI)
			{
		delegate.writeNamespace(prefix, namespaceURI);
	}

	public void writeProcessingInstruction(String target, String data)
			{
		delegate.writeProcessingInstruction(target, data);
	}

	public void writeProcessingInstruction(String target)
			{
		delegate.writeProcessingInstruction(target);
	}

	public void writeStartDocument() {
		delegate.writeStartDocument();
	}

	public void writeStartDocument(String encoding, String version)
			{
		delegate.writeStartDocument(encoding, version);
	}

	public void writeStartDocument(String version) {
		delegate.writeStartDocument(version);
	}

	public void writeStartElement(String prefix, String localName,
			String namespaceURI) {
		elementNames.add(localName);
		logger.info("Start element["+elementNames.size()+"] "+elementNames);
		delegate.writeStartElement(prefix, localName, namespaceURI);
	}

	public void writeStartElement(String namespaceURI, String localName)
			{
		elementNames.add(localName);
		logger.info("Start element["+elementNames.size()+"] "+elementNames);
		delegate.writeStartElement(namespaceURI, localName);
	}

	public void writeStartElement(String localName) {
		elementNames.add(localName);
		logger.info("Start element["+elementNames.size()+"] "+elementNames);
		delegate.writeStartElement(localName);
	}
	
	
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy