Package org.biojava.nbio.core.util
Class PrettyXMLWriter
- java.lang.Object
-
- org.biojava.nbio.core.util.PrettyXMLWriter
-
- All Implemented Interfaces:
XMLWriter
public class PrettyXMLWriter extends Object implements XMLWriter
Implementation of XMLWriter which emits nicely formatted documents to a PrintWriter.- Since:
- 1.3
- Author:
- Thomas Down
-
-
Constructor Summary
Constructors Constructor Description PrettyXMLWriter(PrintWriter writer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
attribute(String qName, String value)
Add an un-qualified attribute to an element.void
attribute(String nsURI, String localName, String value)
Add an attribute to an element.void
close()
Close this XMLWriter, and it's underlying stream.void
closeTag(String qName)
Closes an un-qualified element.void
closeTag(String nsURI, String localName)
Closes an elementvoid
declareNamespace(String nsURI, String prefixHint)
Hints that a namespace is going to be used in a sub-tree.protected void
numericalEntity(char c)
void
openTag(String qName)
Open a new unqualified XML tag.void
openTag(String nsURI, String localName)
Open a new namespace-qualified XML tag.void
print(String data)
Prints some textual content in an element.protected void
printAttributeValue(String data)
protected void
printChars(String data)
void
println(String data)
Prints some textual content, terminated with a newline character.void
printRaw(String data)
Send raw data to the stream.protected void
writeIndent()
-
-
-
Constructor Detail
-
PrettyXMLWriter
public PrettyXMLWriter(PrintWriter writer)
-
-
Method Detail
-
declareNamespace
public void declareNamespace(String nsURI, String prefixHint) throws IOException
Description copied from interface:XMLWriter
Hints that a namespace is going to be used in a sub-tree. Use this method to avoid namespaces that are used only in leaf-nodes of a tree being re-defined every time they are used. The XMLWriter will generally try to use the suggested prefix for this namespace, but there is no guarentee of this. In particular, if the namespace is already in use, the current prefix will still be used. Similarly if the suggested prefix has already been used for another namespace, a new one will be auto-generated.- Specified by:
declareNamespace
in interfaceXMLWriter
- Parameters:
nsURI
- The namespace to declareprefixHint
- A suggested prefix-string for this namespace.- Throws:
IOException
-
writeIndent
protected void writeIndent() throws IOException
- Throws:
IOException
-
openTag
public void openTag(String nsURI, String localName) throws IOException
Description copied from interface:XMLWriter
Open a new namespace-qualified XML tag.- Specified by:
openTag
in interfaceXMLWriter
- Parameters:
nsURI
- A URI for the namespace to uselocalName
- The name of the tag- Throws:
IOException
-
openTag
public void openTag(String qName) throws IOException
Description copied from interface:XMLWriter
Open a new unqualified XML tag. This may also be used if you want to do namespace management yourself, independantly of the XMLWriter- Specified by:
openTag
in interfaceXMLWriter
- Parameters:
qName
- The name of the tag.- Throws:
IOException
-
attribute
public void attribute(String nsURI, String localName, String value) throws IOException
Description copied from interface:XMLWriter
Add an attribute to an element. This will throw an exception if it's not called immediately after anopenTag
command.- Specified by:
attribute
in interfaceXMLWriter
- Parameters:
nsURI
- A URI for the namespace to uselocalName
- The name of the attributevalue
- The textual value of the attribute- Throws:
IOException
-
attribute
public void attribute(String qName, String value) throws IOException
Description copied from interface:XMLWriter
Add an un-qualified attribute to an element. This will throw an exception if it's not called immediately after anopenTag
command.- Specified by:
attribute
in interfaceXMLWriter
- Parameters:
qName
- The name of the attribute to setvalue
- The textual value of the attribute- Throws:
IOException
-
closeTag
public void closeTag(String nsURI, String localName) throws IOException
Description copied from interface:XMLWriter
Closes an element- Specified by:
closeTag
in interfaceXMLWriter
- Parameters:
nsURI
- A URI for the namespace to uselocalName
- The name of the tag- Throws:
IOException
-
closeTag
public void closeTag(String qName) throws IOException
Description copied from interface:XMLWriter
Closes an un-qualified element.- Specified by:
closeTag
in interfaceXMLWriter
- Parameters:
qName
- The tag name- Throws:
IOException
-
println
public void println(String data) throws IOException
Description copied from interface:XMLWriter
Prints some textual content, terminated with a newline character.- Specified by:
println
in interfaceXMLWriter
- Throws:
IOException
-
print
public void print(String data) throws IOException
Description copied from interface:XMLWriter
Prints some textual content in an element.- Specified by:
print
in interfaceXMLWriter
- Throws:
IOException
-
printRaw
public void printRaw(String data) throws IOException
Description copied from interface:XMLWriter
Send raw data to the stream. Mainly useful for things like DOCTYPE declarations. Use with care!- Specified by:
printRaw
in interfaceXMLWriter
- Parameters:
data
- a string of data to include verbatim in the XML stream- Throws:
IOException
-
printChars
protected void printChars(String data) throws IOException
- Throws:
IOException
-
printAttributeValue
protected void printAttributeValue(String data) throws IOException
- Throws:
IOException
-
numericalEntity
protected void numericalEntity(char c) throws IOException
- Throws:
IOException
-
close
public void close() throws IOException
Description copied from interface:XMLWriter
Close this XMLWriter, and it's underlying stream.- Specified by:
close
in interfaceXMLWriter
- Throws:
IOException
-
-