org.xmlpull.v1.wrapper.classic
Class StaticXmlSerializerWrapper

java.lang.Object
  extended by org.xmlpull.v1.wrapper.classic.XmlSerializerDelegate
      extended by org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper
All Implemented Interfaces:
XmlSerializerWrapper, XmlSerializer

public class StaticXmlSerializerWrapper
extends XmlSerializerDelegate
implements XmlSerializerWrapper

This class seemlesly extends exisiting serialzier implementation by adding new methods (provided by XmlPullUtil) and delegating exisiting methods to parser implementation.


Field Summary
protected  java.lang.String currentNs
           
protected  XmlPullParserWrapper fragmentParser
           
protected  int[] namespaceDepth
           
protected  int namespaceEnd
           
protected  java.lang.String[] namespacePrefix
           
protected  java.lang.String[] namespaceUri
           
protected  XmlPullWrapperFactory wf
           
 
Fields inherited from class org.xmlpull.v1.wrapper.classic.XmlSerializerDelegate
xs
 
Fields inherited from interface org.xmlpull.v1.wrapper.XmlSerializerWrapper
NO_NAMESPACE, XSD_NS, XSI_NS
 
Constructor Summary
StaticXmlSerializerWrapper(XmlSerializer xs, XmlPullWrapperFactory wf)
           
 
Method Summary
 XmlSerializerWrapper attribute(java.lang.String name, java.lang.String value)
          Write an attribute without namespace.
 XmlSerializerWrapper element(java.lang.String elementName, java.lang.String elementText)
          Write simple text element in current namespace
 XmlSerializerWrapper element(java.lang.String namespace, java.lang.String elementName, java.lang.String elementText)
          Writes a simple element such as <username>johndoe</username>.
 XmlSerializerWrapper endTag(java.lang.String name)
          Write end tag in current namespace with name given as argument.
 java.lang.String escapeAttributeValue(java.lang.String value)
           
 java.lang.String escapeText(java.lang.String text)
           
 void event(XmlPullParser pp)
          Serializer current event form pull parser
 void fragment(java.lang.String xmlFragment)
          Write XML fragment using currently set namespace prefixes
 java.lang.String getCurrentNamespaceForElements()
          Get namespace that is used as default when no namespace parameter is used for startTag(), endTag() and element()
 java.lang.String setCurrentNamespaceForElements(java.lang.String value)
          Set namespace to use in startTag(), endTag() and element() when methods called are those without namespace parameter.
 void setPrefix(java.lang.String prefix, java.lang.String namespace)
          Binds the given prefix to the given namespace.
 XmlSerializerWrapper startTag(java.lang.String name)
          Write start tag in current namespace with name given as argument.
 void writeDouble(double d)
           
 void writeDoubleElement(java.lang.String namespace, java.lang.String name, double d)
           
 void writeFloat(float f)
           
 void writeFloatElement(java.lang.String namespace, java.lang.String name, float f)
           
 void writeInt(int i)
           
 void writeIntElement(java.lang.String namespace, java.lang.String name, int i)
           
 void writeString(java.lang.String s)
           
 void writeStringElement(java.lang.String namespace, java.lang.String name, java.lang.String s)
           
 
Methods inherited from class org.xmlpull.v1.wrapper.classic.XmlSerializerDelegate
attribute, cdsect, comment, docdecl, endDocument, endTag, entityRef, flush, getDepth, getFeature, getName, getNamespace, getPrefix, getProperty, ignorableWhitespace, processingInstruction, setFeature, setOutput, setOutput, setProperty, startDocument, startTag, text, text
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.xmlpull.v1.XmlSerializer
attribute, cdsect, comment, docdecl, endDocument, endTag, entityRef, flush, getDepth, getFeature, getName, getNamespace, getPrefix, getProperty, ignorableWhitespace, processingInstruction, setFeature, setOutput, setOutput, setProperty, startDocument, startTag, text, text
 

Field Detail

currentNs

protected java.lang.String currentNs

wf

protected XmlPullWrapperFactory wf

fragmentParser

protected XmlPullParserWrapper fragmentParser

namespaceEnd

protected int namespaceEnd

namespacePrefix

protected java.lang.String[] namespacePrefix

namespaceUri

protected java.lang.String[] namespaceUri

namespaceDepth

protected int[] namespaceDepth
Constructor Detail

StaticXmlSerializerWrapper

public StaticXmlSerializerWrapper(XmlSerializer xs,
                                  XmlPullWrapperFactory wf)
Method Detail

getCurrentNamespaceForElements

public java.lang.String getCurrentNamespaceForElements()
Description copied from interface: XmlSerializerWrapper
Get namespace that is used as default when no namespace parameter is used for startTag(), endTag() and element()

Specified by:
getCurrentNamespaceForElements in interface XmlSerializerWrapper

setCurrentNamespaceForElements

public java.lang.String setCurrentNamespaceForElements(java.lang.String value)
Description copied from interface: XmlSerializerWrapper
Set namespace to use in startTag(), endTag() and element() when methods called are those without namespace parameter.

Specified by:
setCurrentNamespaceForElements in interface XmlSerializerWrapper

attribute

public XmlSerializerWrapper attribute(java.lang.String name,
                                      java.lang.String value)
                               throws java.io.IOException,
                                      java.lang.IllegalArgumentException,
                                      java.lang.IllegalStateException
Description copied from interface: XmlSerializerWrapper
Write an attribute without namespace. Calls to attribute() MUST follow a call to startTag() immediately. If there is no prefix defined for the given namespace, a prefix will be defined automatically. NOTE: current element namespace is not used attribute and attributre has no namespace.

Specified by:
attribute in interface XmlSerializerWrapper
Throws:
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException

startTag

public XmlSerializerWrapper startTag(java.lang.String name)
                              throws java.io.IOException,
                                     java.lang.IllegalArgumentException,
                                     java.lang.IllegalStateException
Description copied from interface: XmlSerializerWrapper
Write start tag in current namespace with name given as argument.

Specified by:
startTag in interface XmlSerializerWrapper
Throws:
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException

endTag

public XmlSerializerWrapper endTag(java.lang.String name)
                            throws java.io.IOException,
                                   java.lang.IllegalArgumentException,
                                   java.lang.IllegalStateException
Description copied from interface: XmlSerializerWrapper
Write end tag in current namespace with name given as argument.

Specified by:
endTag in interface XmlSerializerWrapper
Throws:
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException

element

public XmlSerializerWrapper element(java.lang.String elementName,
                                    java.lang.String elementText)
                             throws java.io.IOException,
                                    XmlPullParserException
Write simple text element in current namespace

Specified by:
element in interface XmlSerializerWrapper
Throws:
java.io.IOException
XmlPullParserException

element

public XmlSerializerWrapper element(java.lang.String namespace,
                                    java.lang.String elementName,
                                    java.lang.String elementText)
                             throws java.io.IOException,
                                    XmlPullParserException
Description copied from interface: XmlSerializerWrapper
Writes a simple element such as <username>johndoe</username>. The namespace and elementText are allowed to be null. If elementText is null, an xsi:nil="true" will be added as an attribute.

Specified by:
element in interface XmlSerializerWrapper
Throws:
java.io.IOException
XmlPullParserException

setPrefix

public void setPrefix(java.lang.String prefix,
                      java.lang.String namespace)
               throws java.io.IOException,
                      java.lang.IllegalArgumentException,
                      java.lang.IllegalStateException
Description copied from interface: XmlSerializer
Binds the given prefix to the given namespace. This call is valid for the next element including child elements. The prefix and namespace MUST be always declared even if prefix is not used in element (startTag() or attribute()) - for XML 1.0 it must result in declaring xmlns:prefix='namespace' (or xmlns:prefix="namespace" depending what character is used to quote attribute value).

NOTE: this method MUST be called directly before startTag() and if anything but startTag() or setPrefix() is called next there will be exception.

NOTE: prefixes "xml" and "xmlns" are already bound and can not be redefined see: Namespaces in XML Errata.

NOTE: to set default namespace use as prefix empty string.

Specified by:
setPrefix in interface XmlSerializer
Overrides:
setPrefix in class XmlSerializerDelegate
Parameters:
prefix - must be not null (or IllegalArgumentException is thrown)
namespace - must be not null
Throws:
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException

fragment

public void fragment(java.lang.String xmlFragment)
              throws java.io.IOException,
                     java.lang.IllegalArgumentException,
                     java.lang.IllegalStateException,
                     XmlPullParserException
Description copied from interface: XmlSerializerWrapper
Write XML fragment using currently set namespace prefixes

Specified by:
fragment in interface XmlSerializerWrapper
Throws:
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException
XmlPullParserException

event

public void event(XmlPullParser pp)
           throws XmlPullParserException,
                  java.io.IOException
Description copied from interface: XmlSerializerWrapper
Serializer current event form pull parser

Specified by:
event in interface XmlSerializerWrapper
Throws:
XmlPullParserException
java.io.IOException

escapeAttributeValue

public java.lang.String escapeAttributeValue(java.lang.String value)
Specified by:
escapeAttributeValue in interface XmlSerializerWrapper

escapeText

public java.lang.String escapeText(java.lang.String text)
Specified by:
escapeText in interface XmlSerializerWrapper

writeDouble

public void writeDouble(double d)
                 throws XmlPullParserException,
                        java.io.IOException,
                        java.lang.IllegalArgumentException
Throws:
XmlPullParserException
java.io.IOException
java.lang.IllegalArgumentException

writeFloat

public void writeFloat(float f)
                throws XmlPullParserException,
                       java.io.IOException,
                       java.lang.IllegalArgumentException
Throws:
XmlPullParserException
java.io.IOException
java.lang.IllegalArgumentException

writeInt

public void writeInt(int i)
              throws XmlPullParserException,
                     java.io.IOException,
                     java.lang.IllegalArgumentException
Throws:
XmlPullParserException
java.io.IOException
java.lang.IllegalArgumentException

writeString

public void writeString(java.lang.String s)
                 throws XmlPullParserException,
                        java.io.IOException,
                        java.lang.IllegalArgumentException
Throws:
XmlPullParserException
java.io.IOException
java.lang.IllegalArgumentException

writeDoubleElement

public void writeDoubleElement(java.lang.String namespace,
                               java.lang.String name,
                               double d)
                        throws XmlPullParserException,
                               java.io.IOException,
                               java.lang.IllegalArgumentException
Throws:
XmlPullParserException
java.io.IOException
java.lang.IllegalArgumentException

writeFloatElement

public void writeFloatElement(java.lang.String namespace,
                              java.lang.String name,
                              float f)
                       throws XmlPullParserException,
                              java.io.IOException,
                              java.lang.IllegalArgumentException
Throws:
XmlPullParserException
java.io.IOException
java.lang.IllegalArgumentException

writeIntElement

public void writeIntElement(java.lang.String namespace,
                            java.lang.String name,
                            int i)
                     throws XmlPullParserException,
                            java.io.IOException,
                            java.lang.IllegalArgumentException
Throws:
XmlPullParserException
java.io.IOException
java.lang.IllegalArgumentException

writeStringElement

public void writeStringElement(java.lang.String namespace,
                               java.lang.String name,
                               java.lang.String s)
                        throws XmlPullParserException,
                               java.io.IOException,
                               java.lang.IllegalArgumentException
Throws:
XmlPullParserException
java.io.IOException
java.lang.IllegalArgumentException