import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
-import org.eclipse.jdt.annotation.NonNull;
/**
* A minimal facade for exposing just enough information from {@link XMLStreamWriter} for the purposes of encoding
* See XMLStreamWriter for description of methods.
*/
abstract class ValueWriter {
- // Additionally ignores null/empty
- abstract void writeCharacters(String text) throws XMLStreamException;
-
abstract void writeNamespace(String prefix, String namespaceURI) throws XMLStreamException;
abstract void writeAttribute(String localName, String value) throws XMLStreamException;
// Note: lookup results may change if there is other interaction
abstract NamespaceContext getNamespaceContext();
-
- // Utility shortcut
- final void writeToStringCharacters(final @NonNull Object obj) throws XMLStreamException {
- writeCharacters(obj.toString());
- }
}