com.thoughtworks.xstream.io.xml
Class JDomWriter

java.lang.Object
  extended by com.thoughtworks.xstream.io.xml.AbstractXmlWriter
      extended by com.thoughtworks.xstream.io.xml.JDomWriter
All Implemented Interfaces:
ExtendedHierarchicalStreamWriter, HierarchicalStreamWriter

public class JDomWriter
extends AbstractXmlWriter

Author:
Laurent Bihanic

Constructor Summary
JDomWriter()
           
JDomWriter(org.jdom.Element container)
           
JDomWriter(org.jdom.Element container, org.jdom.JDOMFactory factory)
           
JDomWriter(org.jdom.Element container, org.jdom.JDOMFactory factory, XmlFriendlyReplacer replacer)
           
JDomWriter(org.jdom.JDOMFactory documentFactory)
           
 
Method Summary
 void addAttribute(java.lang.String key, java.lang.String value)
           
 void close()
          Close the writer, if necessary.
 void endNode()
           
 void flush()
          Flush the writer, if necessary.
 java.util.List getResult()
           
 void setValue(java.lang.String text)
          Write the value (text content) of the current node.
 void startNode(java.lang.String name)
           
 void startNode(java.lang.String name, java.lang.Class clazz)
           
 HierarchicalStreamWriter underlyingWriter()
          Return the underlying HierarchicalStreamWriter implementation.
 
Methods inherited from class com.thoughtworks.xstream.io.xml.AbstractXmlWriter
escapeXmlName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JDomWriter

public JDomWriter(org.jdom.Element container,
                  org.jdom.JDOMFactory factory,
                  XmlFriendlyReplacer replacer)
Since:
1.2

JDomWriter

public JDomWriter(org.jdom.Element container,
                  org.jdom.JDOMFactory factory)

JDomWriter

public JDomWriter(org.jdom.JDOMFactory documentFactory)

JDomWriter

public JDomWriter(org.jdom.Element container)

JDomWriter

public JDomWriter()
Method Detail

startNode

public void startNode(java.lang.String name)

startNode

public void startNode(java.lang.String name,
                      java.lang.Class clazz)

setValue

public void setValue(java.lang.String text)
Description copied from interface: HierarchicalStreamWriter
Write the value (text content) of the current node.


addAttribute

public void addAttribute(java.lang.String key,
                         java.lang.String value)

endNode

public void endNode()

getResult

public java.util.List getResult()

flush

public void flush()
Description copied from interface: HierarchicalStreamWriter
Flush the writer, if necessary.


close

public void close()
Description copied from interface: HierarchicalStreamWriter
Close the writer, if necessary.


underlyingWriter

public HierarchicalStreamWriter underlyingWriter()
Description copied from interface: HierarchicalStreamWriter
Return the underlying HierarchicalStreamWriter implementation.

If a Converter needs to access methods of a specific HierarchicalStreamWriter implementation that are not defined in the HierarchicalStreamWriter interface, it should call this method before casting. This is because the writer passed to the Converter is often wrapped/decorated by another implementation to provide additional functionality (such as XPath tracking).

For example:

MySpecificWriter mySpecificWriter = (MySpecificWriter)writer; // INCORRECT!
 mySpecificWriter.doSomethingSpecific();
MySpecificWriter mySpecificWriter = (MySpecificWriter)writer.underlyingWriter();  // CORRECT!
 mySpecificWriter.doSomethingSpecific();

Implementations of HierarchicalStreamWriter should return 'this', unless they are a decorator, in which case they should delegate to whatever they are wrapping.



Joe Walnes, http://xstream.codehaus.org/