Class XMLWriterImpl

    • Constructor Summary

      Constructors 
      Constructor Description
      XMLWriterImpl()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canEncode​(char c)
      Returns whether the XMLWriter can encode the character c without an escape sequence like &#ddd;.
      void characters​(char[] ch, int start, int length)
      Inserts a string of characters into the document.
      void endDocument()
      This method finishs the handlers action.
      void endElement​(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
      Terminates an element.
      void endPrefixMapping​(java.lang.String prefix)
      Terminates use of a namespace prefix.
      org.xml.sax.Locator getDocumentLocator()
      Returns the locator
      java.lang.String getEncoding()
      Returns the writers encoding.
      java.lang.String getIndentString()
      Returns the string being used to indent an XML element by one level.
      java.lang.String getLineFeed()
      Returns the line terminator.
      java.io.Writer getWriter()
      Returns the JaxbXMLSerializers Writer.
      void ignorableWhitespace​(char[] ch, int start, int length)
      Calls the character method with the same arguments.
      private void indentMe()  
      boolean isDeclarating()
      Returns, whether an XML declaration is being generated.
      boolean isFlushing()
      Returns, whether the method ContentHandler.endDocument() should do a flush on the target stream.
      boolean isIndenting()
      Returns, whether the XMLWriter is indenting (pretty printing).
      void processingInstruction​(java.lang.String target, java.lang.String data)
      Inserts a processing instruction.
      void setDeclarating​(boolean pDeclarating)
      Sets, whether an XML declaration is being generated.
      void setDocumentLocator​(org.xml.sax.Locator pLocator)
      Sets the locator.
      void setEncoding​(java.lang.String pEncoding)
      Sets the writers encoding.
      void setFlushing​(boolean pFlushing)
      Sets, whether the method ContentHandler.endDocument() should do a flush on the target stream.
      void setIndenting​(boolean pIndenting)
      Returns, whether the XMLWriter is indenting (pretty printing).
      void setIndentString​(java.lang.String pIndentString)
      Sets the string being used to indent an XML element by one level.
      void setLineFeed​(java.lang.String pLineFeed)
      Sets the line terminator.
      void setWriter​(java.io.Writer pWriter)
      Sets the JaxbXMLSerializers Writer.
      void skippedEntity​(java.lang.String ent)
      Not actually implemented, because I don't know how to skip entities.
      void startDocument()
      Starts a document.
      void startElement​(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attr)
      Starts a new element.
      void startPrefixMapping​(java.lang.String prefix, java.lang.String namespaceURI)
      Starts use of a namespace prefix.
      private void stopTerminator()  
      private void writeCData​(java.lang.String v)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • STATE_IN_START_ELEMENT

        private static final int STATE_IN_START_ELEMENT
        See Also:
        Constant Field Values
      • encoding

        private java.lang.String encoding
      • indentString

        private java.lang.String indentString
      • lineFeed

        private java.lang.String lineFeed
      • w

        private java.io.Writer w
      • l

        private org.xml.sax.Locator l
      • delayedPrefixes

        private java.util.Map delayedPrefixes
      • curIndent

        int curIndent
      • state

        private int state
      • declarating

        private boolean declarating
      • indenting

        private boolean indenting
      • flushing

        private boolean flushing
    • Constructor Detail

      • XMLWriterImpl

        public XMLWriterImpl()
    • Method Detail

      • setEncoding

        public void setEncoding​(java.lang.String pEncoding)
        Description copied from interface: XMLWriter
        Sets the writers encoding.
        Specified by:
        setEncoding in interface XMLWriter
        Parameters:
        pEncoding - Writers encoding, by default null, in which case UTF-8 is being used.
      • getEncoding

        public java.lang.String getEncoding()
        Description copied from interface: XMLWriter
        Returns the writers encoding.
        Specified by:
        getEncoding in interface XMLWriter
        Returns:
        Writers encoding, by default null, in which case UTF-8 is being used.
      • setDeclarating

        public void setDeclarating​(boolean pDeclarating)
        Description copied from interface: XMLWriter
        Sets, whether an XML declaration is being generated.
        Specified by:
        setDeclarating in interface XMLWriter
        Parameters:
        pDeclarating - Whether an XML declaration is generated. Defaults to false.
      • isDeclarating

        public boolean isDeclarating()
        Description copied from interface: XMLWriter
        Returns, whether an XML declaration is being generated.
        Specified by:
        isDeclarating in interface XMLWriter
        Returns:
        Whether an XML declaration is generated. Defaults to false.
      • setIndentString

        public void setIndentString​(java.lang.String pIndentString)
        Description copied from interface: XMLWriter
        Sets the string being used to indent an XML element by one level. Ignored, if indentation is disabled.
        Specified by:
        setIndentString in interface XMLWriter
        Parameters:
        pIndentString - The indentation string, by default " " (two blanks).
      • getIndentString

        public java.lang.String getIndentString()
        Description copied from interface: XMLWriter
        Returns the string being used to indent an XML element by one level. Ignored, if indentation is disabled.
        Specified by:
        getIndentString in interface XMLWriter
        Returns:
        The indentation string, by default " " (two blanks).
      • setLineFeed

        public void setLineFeed​(java.lang.String pLineFeed)
        Description copied from interface: XMLWriter
        Sets the line terminator. Ignored, if indentation is disabled.
        Specified by:
        setLineFeed in interface XMLWriter
        Parameters:
        pLineFeed - The line terminator, by default "\n" (Line Feed). You might prefer "\r\n" (Carriage Return, Line Feed), which is the default on Windows and related operating systems.
      • getLineFeed

        public java.lang.String getLineFeed()
        Description copied from interface: XMLWriter
        Returns the line terminator. Ignored, if indentation is disabled.
        Specified by:
        getLineFeed in interface XMLWriter
        Returns:
        The line terminator, by default "\n" (Line Feed). You might prefer "\r\n" (Carriage Return, Line Feed), which is the default on Windows and related operating systems.
      • setFlushing

        public void setFlushing​(boolean pFlushing)
        Description copied from interface: XMLWriter
        Sets, whether the method ContentHandler.endDocument() should do a flush on the target stream.
        Specified by:
        setFlushing in interface XMLWriter
        Parameters:
        pFlushing - True, if a flush should be done. Defaults to false.
      • isFlushing

        public boolean isFlushing()
        Description copied from interface: XMLWriter
        Returns, whether the method ContentHandler.endDocument() should do a flush on the target stream.
        Specified by:
        isFlushing in interface XMLWriter
        Returns:
        True, if a flush should be done. Defaults to false.
      • setWriter

        public void setWriter​(java.io.Writer pWriter)

        Sets the JaxbXMLSerializers Writer.

        Specified by:
        setWriter in interface XMLWriter
        Parameters:
        pWriter - The target writer.
      • getWriter

        public java.io.Writer getWriter()

        Returns the JaxbXMLSerializers Writer.

        Specified by:
        getWriter in interface XMLWriter
        Returns:
        The target writer.
      • setDocumentLocator

        public void setDocumentLocator​(org.xml.sax.Locator pLocator)
        Sets the locator.
        Specified by:
        setDocumentLocator in interface org.xml.sax.ContentHandler
        Parameters:
        pLocator - A locator for use in case of errors
        See Also:
        getDocumentLocator()
      • getDocumentLocator

        public org.xml.sax.Locator getDocumentLocator()
        Returns the locator
        Returns:
        A locator previously set with setDocumentLocator or null.
        See Also:
        setDocumentLocator(org.xml.sax.Locator)
      • startPrefixMapping

        public void startPrefixMapping​(java.lang.String prefix,
                                       java.lang.String namespaceURI)
                                throws org.xml.sax.SAXException

        Starts use of a namespace prefix.

        Specified by:
        startPrefixMapping in interface org.xml.sax.ContentHandler
        Parameters:
        namespaceURI - The namespace URI
        prefix - The prefix
        Throws:
        org.xml.sax.SAXException - Not actually thrown, just for compliance to the interface specification.
      • endPrefixMapping

        public void endPrefixMapping​(java.lang.String prefix)
                              throws org.xml.sax.SAXException

        Terminates use of a namespace prefix.

        Specified by:
        endPrefixMapping in interface org.xml.sax.ContentHandler
        Parameters:
        prefix - The prefix being abandoned.
        Throws:
        org.xml.sax.SAXException - Not actually thrown, just for compliance to the interface specification.
      • startDocument

        public void startDocument()
                           throws org.xml.sax.SAXException

        Starts a document.

        Specified by:
        startDocument in interface org.xml.sax.ContentHandler
        Throws:
        org.xml.sax.SAXException - Not actually thrown, just for compliance to the interface specification.
      • endDocument

        public void endDocument()
                         throws org.xml.sax.SAXException

        This method finishs the handlers action. After calling endDocument you may start a new action by calling startDocument again.

        Specified by:
        endDocument in interface org.xml.sax.ContentHandler
        Throws:
        org.xml.sax.SAXException - Not actually thrown, just for compliance to the interface specification.
      • ignorableWhitespace

        public void ignorableWhitespace​(char[] ch,
                                        int start,
                                        int length)
                                 throws org.xml.sax.SAXException
        Calls the character method with the same arguments.
        Specified by:
        ignorableWhitespace in interface org.xml.sax.ContentHandler
        Parameters:
        ch - A string of whitespace characters being inserted into the document.
        start - The index of the first character.
        length - The number of characters.
        Throws:
        org.xml.sax.SAXException - Thrown in case of an IOException.
      • stopTerminator

        private void stopTerminator()
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • characters

        public void characters​(char[] ch,
                               int start,
                               int length)
                        throws org.xml.sax.SAXException
        Inserts a string of characters into the document.
        Specified by:
        characters in interface org.xml.sax.ContentHandler
        Parameters:
        ch - The characters being inserted. A substring, to be precise.
        start - Index of the first character
        length - Number of characters being inserted
        Throws:
        org.xml.sax.SAXException - Thrown in case of an IOException
      • canEncode

        public boolean canEncode​(char c)
        Description copied from interface: XMLWriter

        Returns whether the XMLWriter can encode the character c without an escape sequence like &#ddd;.

        Specified by:
        canEncode in interface XMLWriter
        Parameters:
        c - The character being checked for escaping.
        Returns:
        Whether to encode the character.
      • endElement

        public void endElement​(java.lang.String namespaceURI,
                               java.lang.String localName,
                               java.lang.String qName)
                        throws org.xml.sax.SAXException

        Terminates an element.

        Specified by:
        endElement in interface org.xml.sax.ContentHandler
        Parameters:
        namespaceURI - The namespace URI, if any, or null
        localName - The local name, without prefix, or null
        qName - The qualified name, including a prefix, or null
        Throws:
        org.xml.sax.SAXException - Thrown in case of an IOException.
      • indentMe

        private void indentMe()
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • writeCData

        private void writeCData​(java.lang.String v)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • startElement

        public void startElement​(java.lang.String namespaceURI,
                                 java.lang.String localName,
                                 java.lang.String qName,
                                 org.xml.sax.Attributes attr)
                          throws org.xml.sax.SAXException
        Starts a new element.
        Specified by:
        startElement in interface org.xml.sax.ContentHandler
        Parameters:
        namespaceURI - The namespace URI, if any, or null
        localName - The local name, without prefix, or null
        qName - The qualified name, including a prefix, or null
        attr - The element attributes
        Throws:
        org.xml.sax.SAXException - Thrown in case of an IOException.
      • skippedEntity

        public void skippedEntity​(java.lang.String ent)
                           throws org.xml.sax.SAXException
        Not actually implemented, because I don't know how to skip entities.
        Specified by:
        skippedEntity in interface org.xml.sax.ContentHandler
        Parameters:
        ent - The entity being skipped.
        Throws:
        org.xml.sax.SAXException - Not actually thrown, just for compliance to the interface specification.
      • processingInstruction

        public void processingInstruction​(java.lang.String target,
                                          java.lang.String data)
                                   throws org.xml.sax.SAXException
        Inserts a processing instruction.
        Specified by:
        processingInstruction in interface org.xml.sax.ContentHandler
        Parameters:
        target - The PI target
        data - The PI data
        Throws:
        org.xml.sax.SAXException - Thrown in case of an IOException