com.thoughtworks.xstream.io.xml.AbstractXmlReader Maven / Gradle / Ivy
/*
* Copyright (C) 2006 Joe Walnes.
* Copyright (C) 2006, 2007, 2008 XStream Committers.
* All rights reserved.
*
* The software in this package is published under the terms of the BSD
* style license a copy of which has been included with this distribution in
* the LICENSE.txt file.
*
* Created on 04. June 2006 by Mauro Talevi
*/
package com.thoughtworks.xstream.io.xml;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
/**
* Abstract base implementation of HierarchicalStreamReader that provides common functionality
* to all XML-based readers.
*
* @author Mauro Talevi
* @since 1.2
*/
public abstract class AbstractXmlReader implements HierarchicalStreamReader, XmlFriendlyReader {
private XmlFriendlyReplacer replacer;
protected AbstractXmlReader(){
this(new XmlFriendlyReplacer());
}
protected AbstractXmlReader(XmlFriendlyReplacer replacer) {
this.replacer = replacer;
}
/**
* Unescapes XML-friendly name (node or attribute)
*
* @param name the escaped XML-friendly name
* @return An unescaped name with original characters
*/
public String unescapeXmlName(String name) {
return replacer.unescapeName(name);
}
/**
* Escapes XML-unfriendly name (node or attribute)
*
* @param name the unescaped XML-unfriendly name
* @return An escaped name with original characters
*/
protected String escapeXmlName(String name) {
return replacer.escapeName(name);
}
}