org.biojava3.core.util
Class PrettyXMLWriter

java.lang.Object
  extended by org.biojava3.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
PrettyXMLWriter(PrintWriter writer)
           
 
Method Summary
 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 element
 void 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()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 interface XMLWriter
Parameters:
nsURI - The namespace to declare
prefixHint - 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 interface XMLWriter
Parameters:
nsURI - A URI for the namespace to use
localName - 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 interface XMLWriter
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 an openTag command.

Specified by:
attribute in interface XMLWriter
Parameters:
nsURI - A URI for the namespace to use
localName - The name of the attribute
value - 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 an openTag command.

Specified by:
attribute in interface XMLWriter
Parameters:
qName - The name of the attribute to set
value - 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 interface XMLWriter
Parameters:
nsURI - A URI for the namespace to use
localName - 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 interface XMLWriter
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 interface XMLWriter
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 interface XMLWriter
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 interface XMLWriter
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 interface XMLWriter
Throws:
IOException