org.apache.ws.commons.serialize
Class XMLWriterImpl

java.lang.Object
  extended by org.apache.ws.commons.serialize.XMLWriterImpl
All Implemented Interfaces:
XMLWriter, org.xml.sax.ContentHandler
Direct Known Subclasses:
CharSetXMLWriter, OrderedAttributeXMLWriter, PassThroughXMLWriter

public class XMLWriterImpl
extends java.lang.Object
implements XMLWriter

Default implementation of XMLWriter. Works with Java 1.2 and later.


Field Summary
(package private)  int curIndent
           
 
Constructor Summary
XMLWriterImpl()
           
 
Method Summary
 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.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

curIndent

int curIndent
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.

setIndenting

public void setIndenting(boolean pIndenting)
Description copied from interface: XMLWriter
Returns, whether the XMLWriter is indenting (pretty printing). If you want indenting, you should consider to invoke the methods XMLWriter.setIndentString(java.lang.String) and XMLWriter.setLineFeed(java.lang.String) as well.

Specified by:
setIndenting in interface XMLWriter
Parameters:
pIndenting - Whether indentation is enabled. Defaults to false.

isIndenting

public boolean isIndenting()
Description copied from interface: XMLWriter
Returns, whether the XMLWriter is indenting (pretty printing). If you want indenting, you should consider to invoke the methods XMLWriter.setIndentString(java.lang.String) and XMLWriter.setLineFeed(java.lang.String) as well.

Specified by:
isIndenting in interface XMLWriter
Returns:
Whether indentation is enabled. 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.

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.

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


Copyright 2005-2005-2006 Apache Software Foundation. All Rights Reserved.