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

org.eclipse.mylyn.wikitext.util.XmlStreamWriterAdapter Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c) 2015 Tasktop Technologies and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     David Green - initial API and implementation
 *******************************************************************************/

package org.eclipse.mylyn.wikitext.util;

import static com.google.common.base.Preconditions.checkNotNull;

import java.util.Collections;
import java.util.Iterator;

import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;

import com.google.common.collect.ImmutableSet;

class XmlStreamWriterAdapter implements XMLStreamWriter {
	private final XmlStreamWriter delegate;

	public XmlStreamWriterAdapter(XmlStreamWriter delegate) {
		this.delegate = checkNotNull(delegate, "Must provide a delegate"); //$NON-NLS-1$
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	@Override
	public void writeEmptyElement(String localName) {
		delegate.writeEmptyElement(localName);
	}

	@Override
	public void writeEmptyElement(String namespaceURI, String localName) {
		delegate.writeEmptyElement(namespaceURI, localName);
	}

	@Override
	public void writeEmptyElement(String prefix, String localName, String namespaceURI) {
		delegate.writeEmptyElement(prefix, localName, namespaceURI);
	}

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

	@Override
	public void writeEndElement() {
		delegate.writeEndElement();
	}

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

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

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

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

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

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

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

	@Override
	public void writeStartElement(String localName) {
		delegate.writeStartElement(localName);
	}

	@Override
	public void writeStartElement(String namespaceURI, String localName) {
		delegate.writeStartElement(namespaceURI, localName);
	}

	@Override
	public void writeStartElement(String prefix, String localName, String namespaceURI) {
		delegate.writeStartElement(prefix, localName, namespaceURI);
	}

	@Override
	public NamespaceContext getNamespaceContext() {
		return new NamespaceContext() {

			@Override
			public Iterator getPrefixes(String namespaceUri) {
				String prefix = getPrefix(namespaceUri);
				if (prefix == null) {
					return ImmutableSet. of().iterator();
				}
				return Collections.singletonList(prefix).iterator();
			}

			@Override
			public String getPrefix(String namespaceUri) {
				return delegate.getPrefix(namespaceUri);
			}

			@Override
			public String getNamespaceURI(String prefix) {
				return delegate.getNamespaceURI(prefix);
			}
		};
	}

	@Override
	public Object getProperty(String name) throws IllegalArgumentException {
		checkNotNull(name);
		throw new IllegalArgumentException(name);
	}

	@Override
	public void setNamespaceContext(NamespaceContext context) throws XMLStreamException {
		checkNotNull(context);
		// silently ignore
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy