com.sun.xml.txw2
Interface TypedXmlWriter


public interface TypedXmlWriter

Defines common operations for all typed XML writers. Root of all typed XML writer interfaces.

This interface defines a series of methods to allow client applications to write arbitrary well-formed documents.

Author:
Kohsuke Kawaguchi

Method Summary
 void _attribute(QName attributeName, Object value)
          Adds an attribute of the given name and the value.
 void _attribute(String localName, Object value)
          Adds an attribute of the given name and the value.
 void _attribute(String nsUri, String localName, Object value)
          Adds an attribute of the given name and the value.
<T extends TypedXmlWriter>
T
_cast(Class<T> targetInterface)
          Returns a different interface for this typed XML Writer.
 void _cdata(Object value)
          Appends CDATA section.
 void _comment(Object value)
          Appends a comment.
<T extends TypedXmlWriter>
T
_element(Class<T> contentModel)
          Appends a new child element.
<T extends TypedXmlWriter>
T
_element(QName tagName, Class<T> contentModel)
          Appends a new child element.
<T extends TypedXmlWriter>
T
_element(String localName, Class<T> contentModel)
          Appends a new child element.
<T extends TypedXmlWriter>
T
_element(String nsUri, String localName, Class<T> contentModel)
          Appends a new child element.
 void _namespace(String uri)
          Declares a new namespace URI on this element.
 void _namespace(String uri, boolean requirePrefix)
          Declares a new namespace URI on this element.
 void _namespace(String uri, String prefix)
          Declares a new namespace URI on this element to a specific prefix.
 void _pcdata(Object value)
          Appends text data.
 void block()
          Blocks the writing of the start tag so that new attributes can be added even after child elements are appended.
 void commit()
          Commits this element (and all its descendants) to the output.
 void commit(boolean includingAllPredecessors)
          Commits this element (and all its descendants) to the output.
 Document getDocument()
          Gets the Document object that this writer is writing to.
 

Method Detail

commit

void commit()
Commits this element (and all its descendants) to the output.

Short for _commit(true).


commit

void commit(boolean includingAllPredecessors)
Commits this element (and all its descendants) to the output.

Once a writer is committed, nothing can be added to it further. Committing allows TXW to output a part of the document even if the rest has not yet been written.

Parameters:
includingAllPredecessors - if false, this operation will _commit this writer and all its descendants writers. If true, in addition to those writers, this operation will close all the writers before this writer in the document order.

block

void block()
Blocks the writing of the start tag so that new attributes can be added even after child elements are appended.

This blocks the output at the token before the start tag until the commit() method is called to _commit this element.

For more information, see the TXW documentation.


getDocument

Document getDocument()
Gets the Document object that this writer is writing to.

Returns:
always non-null.

_attribute

void _attribute(String localName,
                Object value)
Adds an attribute of the given name and the value.

Short for

_attribute("",localName,value);

See Also:
_attribute(String, String, Object)

_attribute

void _attribute(String nsUri,
                String localName,
                Object value)
Adds an attribute of the given name and the value.

Short for

_attribute(new QName(nsUri,localName),value);

See Also:
_attribute(QName, Object)

_attribute

void _attribute(QName attributeName,
                Object value)
Adds an attribute of the given name and the value.

Parameters:
attributeName - must not be null.
value - value of the attribute. must not be null. See the documentation for the conversion rules.

_namespace

void _namespace(String uri)
Declares a new namespace URI on this element.

The runtime system will assign an unique prefix for the URI.

Parameters:
uri - can be empty, but must not be null.

_namespace

void _namespace(String uri,
                String prefix)
Declares a new namespace URI on this element to a specific prefix.

Parameters:
uri - can be empty, but must not be null.
prefix - If non-empty, this prefix is bound to the URI on this element. If empty, then the runtime will still try to use the URI as the default namespace, but it may fail to do so because of the constraints in the XML.
Throws:
IllegalArgumentException - if the same prefix is already declared on this element.

_namespace

void _namespace(String uri,
                boolean requirePrefix)
Declares a new namespace URI on this element.

The runtime system will assign an unique prefix for the URI.

Parameters:
uri - can be empty, but must not be null.
requirePrefix - if false, this method behaves just like _namespace(String). if true, this guarantees that the URI is bound to a non empty prefix.

_pcdata

void _pcdata(Object value)
Appends text data.

Parameters:
value - must not be null. See the documentation for the conversion rules.

_cdata

void _cdata(Object value)
Appends CDATA section.

Parameters:
value - must not be null. See the documentation for the conversion rules.

_comment

void _comment(Object value)
              throws UnsupportedOperationException
Appends a comment.

Parameters:
value - must not be null. See the documentation for the conversion rules.
Throws:
UnsupportedOperationException - if the underlying XmlSerializer does not support writing comments, this exception can be thrown.

_element

<T extends TypedXmlWriter> T _element(String localName,
                                      Class<T> contentModel)
Appends a new child element.

Short for

_element(URI of this element,localName,contentModel);

The namespace URI will be inherited from the parent element.

See Also:
_element(String, String, Class)

_element

<T extends TypedXmlWriter> T _element(String nsUri,
                                      String localName,
                                      Class<T> contentModel)
Appends a new child element.

The newly created child element is appended at the end of the children.

Parameters:
nsUri - The namespace URI of the newly created element.
localName - The local name of the newly created element.
contentModel - The typed XML writer interface used to write the children of the new child element.
Returns:
always return non-null TypedXmlWriter that can be used to write the contents of the newly created child element.

_element

<T extends TypedXmlWriter> T _element(QName tagName,
                                      Class<T> contentModel)
Appends a new child element.

Short for

_element(tagName.getNamespaceURI(),tagName.getLocalPart(),contentModel);

See Also:
_element(String, String, Class)

_element

<T extends TypedXmlWriter> T _element(Class<T> contentModel)
Appends a new child element.

This version of the _element method requires the T class to be annotated with XmlElement annotation. The element name will be taken from there.

See Also:
_element(String, String, Class)

_cast

<T extends TypedXmlWriter> T _cast(Class<T> targetInterface)
Returns a different interface for this typed XML Writer.

Semantically, this operation is a 'cast' --- it returns the same underlying writer in a different interface. The returned new writer and the current writer will write to the same element.

But this is different from Java's ordinary cast because the returned object is not always the same as the current object.

Returns:
always return non-null.


Copyright © 2012 Oracle. All Rights Reserved.