Interface TypedXmlWriter

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void _attribute​(java.lang.String localName, java.lang.Object value)
      Adds an attribute of the given name and the value.
      void _attribute​(java.lang.String nsUri, java.lang.String localName, java.lang.Object value)
      Adds an attribute of the given name and the value.
      void _attribute​(javax.xml.namespace.QName attributeName, java.lang.Object value)
      Adds an attribute of the given name and the value.
      <T extends TypedXmlWriter>
      T
      _cast​(java.lang.Class<T> targetInterface)
      Returns a different interface for this typed XML Writer.
      void _cdata​(java.lang.Object value)
      Appends CDATA section.
      void _comment​(java.lang.Object value)
      Appends a comment.
      <T extends TypedXmlWriter>
      T
      _element​(java.lang.Class<T> contentModel)
      Appends a new child element.
      <T extends TypedXmlWriter>
      T
      _element​(java.lang.String localName, java.lang.Class<T> contentModel)
      Appends a new child element.
      <T extends TypedXmlWriter>
      T
      _element​(java.lang.String nsUri, java.lang.String localName, java.lang.Class<T> contentModel)
      Appends a new child element.
      <T extends TypedXmlWriter>
      T
      _element​(javax.xml.namespace.QName tagName, java.lang.Class<T> contentModel)
      Appends a new child element.
      void _namespace​(java.lang.String uri)
      Declares a new namespace URI on this element.
      void _namespace​(java.lang.String uri, boolean requirePrefix)
      Declares a new namespace URI on this element.
      void _namespace​(java.lang.String uri, java.lang.String prefix)
      Declares a new namespace URI on this element to a specific prefix.
      void _pcdata​(java.lang.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​(java.lang.String localName,
                        java.lang.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​(java.lang.String nsUri,
                        java.lang.String localName,
                        java.lang.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​(javax.xml.namespace.QName attributeName,
                        java.lang.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​(java.lang.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​(java.lang.String uri,
                        java.lang.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:
        java.lang.IllegalArgumentException - if the same prefix is already declared on this element.
      • _namespace

        void _namespace​(java.lang.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​(java.lang.Object value)
        Appends text data.
        Parameters:
        value - must not be null. See the documentation for the conversion rules.
      • _cdata

        void _cdata​(java.lang.Object value)
        Appends CDATA section.
        Parameters:
        value - must not be null. See the documentation for the conversion rules.
      • _comment

        void _comment​(java.lang.Object value)
               throws java.lang.UnsupportedOperationException
        Appends a comment.
        Parameters:
        value - must not be null. See the documentation for the conversion rules.
        Throws:
        java.lang.UnsupportedOperationException - if the underlying XmlSerializer does not support writing comments, this exception can be thrown.
      • _element

        <T extends TypedXmlWriter> T _element​(java.lang.String localName,
                                              java.lang.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​(java.lang.String nsUri,
                                              java.lang.String localName,
                                              java.lang.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​(javax.xml.namespace.QName tagName,
                                              java.lang.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​(java.lang.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​(java.lang.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.