org.jibx.extras
Class JDOMWriter

java.lang.Object
  extended by org.jibx.runtime.impl.XMLWriterNamespaceBase
      extended by org.jibx.extras.JDOMWriter
All Implemented Interfaces:
IXMLWriter

public class JDOMWriter
extends XMLWriterNamespaceBase

JDOM implementation of XML writer interface. The Document that is created can be accessed by using getDocument().

Version:
1.0
Author:
Andreas Brenk

Constructor Summary
JDOMWriter(java.lang.String[] namespaces)
          Creates a new instance with the given namespace URIs.
JDOMWriter(java.lang.String[] namespaces, org.jdom.Document document)
          Creates a new instance with the given Document as target for marshalling.
JDOMWriter(java.lang.String[] namespaces, org.jdom.Element currentElement)
          Creates a new instance with the given Element as target for marshalling.
 
Method Summary
 void addAttribute(int index, java.lang.String name, java.lang.String value)
          Add attribute to current open start tag.
 void close()
          Does nothing.
 void closeEmptyTag()
          Close the current open start tag as an empty element.
 void closeStartTag()
          Close the current open start tag.
 void endTag(int index, java.lang.String name)
          Generate end tag.
 void flush()
          Does nothing.
 org.jdom.Document getDocument()
           
 void indent()
          Does nothing.
 void init()
          Does nothing.
 void reset()
          Reset to initial state for reuse.
 void setIndentSpaces(int count, java.lang.String newline, char indent)
          Does nothing.
 void startTagClosed(int index, java.lang.String name)
          Generate closed start tag.
 void startTagNamespaces(int index, java.lang.String name, int[] nums, java.lang.String[] prefs)
          Generate start tag for element with namespaces.
 void startTagOpen(int index, java.lang.String name)
          Generate open start tag.
 void writeCData(java.lang.String text)
          Write CDATA text to document.
 void writeComment(java.lang.String text)
          Write comment to document.
 void writeDocType(java.lang.String name, java.lang.String sys, java.lang.String pub, java.lang.String subset)
          Write DOCTYPE declaration to document.
 void writeEntityRef(java.lang.String name)
          Write entity reference to document.
 void writePI(java.lang.String target, java.lang.String data)
          Write processing instruction to document.
 void writeTextContent(java.lang.String text)
          Write ordinary character data text content to document.
 void writeXMLDecl(java.lang.String version, java.lang.String encoding, java.lang.String standalone)
          Does nothing.
 
Methods inherited from class org.jibx.runtime.impl.XMLWriterNamespaceBase
getExtensionNamespaces, getNamespaceCount, getNamespacePrefix, getNamespaces, getNamespaceUri, getNestingDepth, getPrefixIndex, openNamespaces, popExtensionNamespaces, popTranslationTable, pushExtensionNamespaces, pushTranslationTable, translateNamespace
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JDOMWriter

public JDOMWriter(java.lang.String[] namespaces)
Creates a new instance with the given namespace URIs.


JDOMWriter

public JDOMWriter(java.lang.String[] namespaces,
                  org.jdom.Document document)
Creates a new instance with the given Document as target for marshalling.

Parameters:
document - must not be null

JDOMWriter

public JDOMWriter(java.lang.String[] namespaces,
                  org.jdom.Element currentElement)
Creates a new instance with the given Element as target for marshalling.

Parameters:
currentElement - must not be null
Method Detail

init

public void init()
Does nothing.


setIndentSpaces

public void setIndentSpaces(int count,
                            java.lang.String newline,
                            char indent)
Does nothing.

Parameters:
count - number of character to indent per level, or disable indentation if negative (zero means new line only)
newline - sequence of characters used for a line ending (null means use the single character '\n')
indent - whitespace character used for indentation

writeXMLDecl

public void writeXMLDecl(java.lang.String version,
                         java.lang.String encoding,
                         java.lang.String standalone)
                  throws java.io.IOException
Does nothing.

Parameters:
version - XML version text
encoding - text for encoding attribute (unspecified if null)
standalone - text for standalone attribute (unspecified if null)
Throws:
java.io.IOException - on error writing to document

startTagOpen

public void startTagOpen(int index,
                         java.lang.String name)
                  throws java.io.IOException
Description copied from interface: IXMLWriter
Generate open start tag. This allows attributes and/or namespace declarations to be added to the start tag, but must be followed by a IXMLWriter.closeStartTag() call.

Parameters:
index - namespace URI index number
name - unqualified element name
Throws:
java.io.IOException - on error writing to document

startTagNamespaces

public void startTagNamespaces(int index,
                               java.lang.String name,
                               int[] nums,
                               java.lang.String[] prefs)
                        throws java.io.IOException
Description copied from interface: IXMLWriter
Generate start tag for element with namespaces. This creates the actual start tag, along with any necessary namespace declarations. Previously active namespace declarations are not duplicated. The tag is left incomplete, allowing other attributes to be added.

Parameters:
index - namespace URI index number
name - element name
nums - array of namespace indexes defined by this element (must be constant, reference is kept until end of element)
prefs - array of namespace prefixes mapped by this element (no null values, use "" for default namespace declaration)
Throws:
java.io.IOException - on error writing to document

addAttribute

public void addAttribute(int index,
                         java.lang.String name,
                         java.lang.String value)
                  throws java.io.IOException
Description copied from interface: IXMLWriter
Add attribute to current open start tag. This is only valid after a call to IXMLWriter.startTagOpen(int, java.lang.String) and before the corresponding call to IXMLWriter.closeStartTag().

Parameters:
index - namespace URI index number
name - unqualified attribute name
value - text value for attribute
Throws:
java.io.IOException - on error writing to document

closeStartTag

public void closeStartTag()
                   throws java.io.IOException
Description copied from interface: IXMLWriter
Close the current open start tag. This is only valid after a call to IXMLWriter.startTagOpen(int, java.lang.String).

Throws:
java.io.IOException - on error writing to document

closeEmptyTag

public void closeEmptyTag()
                   throws java.io.IOException
Description copied from interface: IXMLWriter
Close the current open start tag as an empty element. This is only valid after a call to IXMLWriter.startTagOpen(int, java.lang.String).

Throws:
java.io.IOException - on error writing to document

startTagClosed

public void startTagClosed(int index,
                           java.lang.String name)
                    throws java.io.IOException
Description copied from interface: IXMLWriter
Generate closed start tag. No attributes or namespaces can be added to a start tag written using this call.

Parameters:
index - namespace URI index number
name - unqualified element name
Throws:
java.io.IOException - on error writing to document

endTag

public void endTag(int index,
                   java.lang.String name)
            throws java.io.IOException
Description copied from interface: IXMLWriter
Generate end tag.

Parameters:
index - namespace URI index number
name - unqualified element name
Throws:
java.io.IOException - on error writing to document

writeTextContent

public void writeTextContent(java.lang.String text)
                      throws java.io.IOException
Description copied from interface: IXMLWriter
Write ordinary character data text content to document.

Parameters:
text - content value text (must not be null)
Throws:
java.io.IOException - on error writing to document

writeCData

public void writeCData(java.lang.String text)
                throws java.io.IOException
Description copied from interface: IXMLWriter
Write CDATA text to document.

Parameters:
text - content value text (must not be null)
Throws:
java.io.IOException - on error writing to document

writeComment

public void writeComment(java.lang.String text)
                  throws java.io.IOException
Description copied from interface: IXMLWriter
Write comment to document.

Parameters:
text - comment text (must not be null)
Throws:
java.io.IOException - on error writing to document

writeEntityRef

public void writeEntityRef(java.lang.String name)
                    throws java.io.IOException
Description copied from interface: IXMLWriter
Write entity reference to document.

Parameters:
name - entity name (must not be null)
Throws:
java.io.IOException - on error writing to document

writeDocType

public void writeDocType(java.lang.String name,
                         java.lang.String sys,
                         java.lang.String pub,
                         java.lang.String subset)
                  throws java.io.IOException
Description copied from interface: IXMLWriter
Write DOCTYPE declaration to document.

Parameters:
name - root element name
sys - system ID (null if none, must be non-null for public ID to be used)
pub - public ID (null if none)
subset - internal subset (null if none)
Throws:
java.io.IOException - on error writing to document

writePI

public void writePI(java.lang.String target,
                    java.lang.String data)
             throws java.io.IOException
Description copied from interface: IXMLWriter
Write processing instruction to document.

Parameters:
target - processing instruction target name (must not be null)
data - processing instruction data (must not be null)
Throws:
java.io.IOException - on error writing to document

indent

public void indent()
            throws java.io.IOException
Does nothing.

Throws:
java.io.IOException - on error writing to document

flush

public void flush()
           throws java.io.IOException
Does nothing.

Throws:
java.io.IOException - on error writing to document

close

public void close()
           throws java.io.IOException
Does nothing.

Throws:
java.io.IOException - on error writing to document

reset

public void reset()
Description copied from class: XMLWriterNamespaceBase
Reset to initial state for reuse. Subclasses overriding this method need to call this base class implementation during their processing.

Specified by:
reset in interface IXMLWriter
Overrides:
reset in class XMLWriterNamespaceBase

getDocument

public org.jdom.Document getDocument()
Returns:
the JDOM Document this writer created.


Project Web Site