org.xmlpull.v1.wrapper.classic
Class StaticXmlPullParserWrapper

java.lang.Object
  extended by org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate
      extended by org.xmlpull.v1.wrapper.classic.StaticXmlPullParserWrapper
All Implemented Interfaces:
XmlPullParserWrapper, XmlPullParser

public class StaticXmlPullParserWrapper
extends XmlPullParserDelegate
implements XmlPullParserWrapper

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


Field Summary
 
Fields inherited from class org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate
pp
 
Fields inherited from interface org.xmlpull.v1.wrapper.XmlPullParserWrapper
XSD_NS, XSI_NS
 
Fields inherited from interface org.xmlpull.v1.XmlPullParser
CDSECT, COMMENT, DOCDECL, END_DOCUMENT, END_TAG, ENTITY_REF, FEATURE_PROCESS_DOCDECL, FEATURE_PROCESS_NAMESPACES, FEATURE_REPORT_NAMESPACE_ATTRIBUTES, FEATURE_VALIDATION, IGNORABLE_WHITESPACE, NO_NAMESPACE, PROCESSING_INSTRUCTION, START_DOCUMENT, START_TAG, TEXT, TYPES
 
Constructor Summary
StaticXmlPullParserWrapper(XmlPullParser pp)
           
 
Method Summary
 java.lang.String getAttributeValue(java.lang.String name)
          Return value of attribute with given name and no namespace.
 java.lang.String getPIData()
          Return everything past PITarget and S from Processing Instruction (PI) as defined in XML 1.0 Section 2.6 Processing Instructions [16] PI ::= '<?'
 java.lang.String getPITarget()
          Return PITarget from Processing Instruction (PI) as defined in XML 1.0 Section 2.6 Processing Instructions [16] PI ::= '<?'
 java.lang.String getRequiredAttributeValue(java.lang.String name)
          Read attribute value and return it or throw exception if current element does not have such attribute.
 java.lang.String getRequiredAttributeValue(java.lang.String namespace, java.lang.String name)
          Read attribute value and return it or throw exception if current element does not have such attribute.
 java.lang.String getRequiredElementText(java.lang.String namespace, java.lang.String name)
          Read the text of a required element and return it or throw exception if required element is not found.
 boolean isNil()
          Is the current tag nil?
 boolean matches(int type, java.lang.String namespace, java.lang.String name)
          Tests if the current event is of the given type and if the namespace and name match.
 void nextEndTag()
          Call parser nextTag() and check that it is END_TAG, throw exception if not.
 void nextEndTag(java.lang.String name)
          combine nextTag(); pp.require(XmlPullParser.END_TAG, null, name);
 void nextEndTag(java.lang.String namespace, java.lang.String name)
          combine nextTag(); pp.require(XmlPullParser.END_TAG, namespace, name);
 void nextStartTag()
          call parser nextTag() and check that it is START_TAG, throw exception if not.
 void nextStartTag(java.lang.String name)
          combine nextTag(); pp.require(XmlPullParser.START_TAG, null, name);
 void nextStartTag(java.lang.String namespace, java.lang.String name)
          combine nextTag(); pp.require(XmlPullParser.START_TAG, namespace, name);
 java.lang.String nextText(java.lang.String namespace, java.lang.String name)
          Read text content of element ith given namespace and name (use null namespace do indicate that nemspace should not be checked)
 double readDouble()
           
 double readDoubleElement(java.lang.String namespace, java.lang.String name)
           
 float readFloat()
           
 float readFloatElement(java.lang.String namespace, java.lang.String name)
           
 int readInt()
           
 int readIntElement(java.lang.String namespace, java.lang.String name)
           
 java.lang.String readString()
           
 java.lang.String readStringElemet(java.lang.String namespace, java.lang.String name)
           
 void skipSubTree()
          Skip sub tree that is currently porser positioned on.
 
Methods inherited from class org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate
defineEntityReplacementText, getAttributeCount, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getColumnNumber, getDepth, getEventType, getFeature, getInputEncoding, getLineNumber, getName, getNamespace, getNamespace, getNamespaceCount, getNamespacePrefix, getNamespaceUri, getPositionDescription, getPrefix, getProperty, getText, getTextCharacters, isAttributeDefault, isEmptyElementTag, isWhitespace, next, nextTag, nextText, nextToken, require, setFeature, setInput, setInput, setProperty
 
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.XmlPullParser
defineEntityReplacementText, getAttributeCount, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getColumnNumber, getDepth, getEventType, getFeature, getInputEncoding, getLineNumber, getName, getNamespace, getNamespace, getNamespaceCount, getNamespacePrefix, getNamespaceUri, getPositionDescription, getPrefix, getProperty, getText, getTextCharacters, isAttributeDefault, isEmptyElementTag, isWhitespace, next, nextTag, nextText, nextToken, require, setFeature, setInput, setInput, setProperty
 

Constructor Detail

StaticXmlPullParserWrapper

public StaticXmlPullParserWrapper(XmlPullParser pp)
Method Detail

getAttributeValue

public java.lang.String getAttributeValue(java.lang.String name)
Description copied from interface: XmlPullParserWrapper
Return value of attribute with given name and no namespace.

Specified by:
getAttributeValue in interface XmlPullParserWrapper

getRequiredAttributeValue

public java.lang.String getRequiredAttributeValue(java.lang.String name)
                                           throws java.io.IOException,
                                                  XmlPullParserException
Description copied from interface: XmlPullParserWrapper
Read attribute value and return it or throw exception if current element does not have such attribute.

Specified by:
getRequiredAttributeValue in interface XmlPullParserWrapper
Throws:
java.io.IOException
XmlPullParserException

getRequiredAttributeValue

public java.lang.String getRequiredAttributeValue(java.lang.String namespace,
                                                  java.lang.String name)
                                           throws java.io.IOException,
                                                  XmlPullParserException
Description copied from interface: XmlPullParserWrapper
Read attribute value and return it or throw exception if current element does not have such attribute.

Specified by:
getRequiredAttributeValue in interface XmlPullParserWrapper
Throws:
java.io.IOException
XmlPullParserException

getRequiredElementText

public java.lang.String getRequiredElementText(java.lang.String namespace,
                                               java.lang.String name)
                                        throws java.io.IOException,
                                               XmlPullParserException
Read the text of a required element and return it or throw exception if required element is not found. Useful for getting the text of simple elements such as johndoe. Assumes that parser is just before the start tag and leaves the parser at the end tag. If the text is nil (e.g. ), then a null will be returned.

Specified by:
getRequiredElementText in interface XmlPullParserWrapper
Throws:
java.io.IOException
XmlPullParserException

isNil

public boolean isNil()
              throws java.io.IOException,
                     XmlPullParserException
Description copied from interface: XmlPullParserWrapper
Is the current tag nil? Checks for xsi:nil="true".

Specified by:
isNil in interface XmlPullParserWrapper
Throws:
java.io.IOException
XmlPullParserException

getPITarget

public java.lang.String getPITarget()
                             throws java.lang.IllegalStateException
Description copied from interface: XmlPullParserWrapper
Return PITarget from Processing Instruction (PI) as defined in XML 1.0 Section 2.6 Processing Instructions [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'

Specified by:
getPITarget in interface XmlPullParserWrapper
Throws:
java.lang.IllegalStateException

getPIData

public java.lang.String getPIData()
                           throws java.lang.IllegalStateException
Description copied from interface: XmlPullParserWrapper
Return everything past PITarget and S from Processing Instruction (PI) as defined in XML 1.0 Section 2.6 Processing Instructions [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'

NOTE: if there is no PI data it returns empty string.

Specified by:
getPIData in interface XmlPullParserWrapper
Throws:
java.lang.IllegalStateException

matches

public boolean matches(int type,
                       java.lang.String namespace,
                       java.lang.String name)
                throws XmlPullParserException
Description copied from interface: XmlPullParserWrapper
Tests if the current event is of the given type and if the namespace and name match. null will match any namespace and any name. If the test passes a true is returned otherwise a false is returned.

Specified by:
matches in interface XmlPullParserWrapper
Throws:
XmlPullParserException

nextStartTag

public void nextStartTag()
                  throws XmlPullParserException,
                         java.io.IOException
Description copied from interface: XmlPullParserWrapper
call parser nextTag() and check that it is START_TAG, throw exception if not.

Specified by:
nextStartTag in interface XmlPullParserWrapper
Throws:
XmlPullParserException
java.io.IOException

nextStartTag

public void nextStartTag(java.lang.String name)
                  throws XmlPullParserException,
                         java.io.IOException
Description copied from interface: XmlPullParserWrapper
combine nextTag(); pp.require(XmlPullParser.START_TAG, null, name);

Specified by:
nextStartTag in interface XmlPullParserWrapper
Throws:
XmlPullParserException
java.io.IOException

nextStartTag

public void nextStartTag(java.lang.String namespace,
                         java.lang.String name)
                  throws XmlPullParserException,
                         java.io.IOException
Description copied from interface: XmlPullParserWrapper
combine nextTag(); pp.require(XmlPullParser.START_TAG, namespace, name);

Specified by:
nextStartTag in interface XmlPullParserWrapper
Throws:
XmlPullParserException
java.io.IOException

nextEndTag

public void nextEndTag()
                throws XmlPullParserException,
                       java.io.IOException
Description copied from interface: XmlPullParserWrapper
Call parser nextTag() and check that it is END_TAG, throw exception if not.

Specified by:
nextEndTag in interface XmlPullParserWrapper
Throws:
XmlPullParserException
java.io.IOException

nextEndTag

public void nextEndTag(java.lang.String name)
                throws XmlPullParserException,
                       java.io.IOException
Description copied from interface: XmlPullParserWrapper
combine nextTag(); pp.require(XmlPullParser.END_TAG, null, name);

Specified by:
nextEndTag in interface XmlPullParserWrapper
Throws:
XmlPullParserException
java.io.IOException

nextEndTag

public void nextEndTag(java.lang.String namespace,
                       java.lang.String name)
                throws XmlPullParserException,
                       java.io.IOException
Description copied from interface: XmlPullParserWrapper
combine nextTag(); pp.require(XmlPullParser.END_TAG, namespace, name);

Specified by:
nextEndTag in interface XmlPullParserWrapper
Throws:
XmlPullParserException
java.io.IOException

nextText

public java.lang.String nextText(java.lang.String namespace,
                                 java.lang.String name)
                          throws java.io.IOException,
                                 XmlPullParserException
Description copied from interface: XmlPullParserWrapper
Read text content of element ith given namespace and name (use null namespace do indicate that nemspace should not be checked)

Specified by:
nextText in interface XmlPullParserWrapper
Throws:
java.io.IOException
XmlPullParserException

skipSubTree

public void skipSubTree()
                 throws XmlPullParserException,
                        java.io.IOException
Description copied from interface: XmlPullParserWrapper
Skip sub tree that is currently porser positioned on.
NOTE: parser must be on START_TAG and when funtion returns parser will be positioned on matching END_TAG This is typically optimized internally by parser but the logic should follow this: pp.require(XmlPullParser.START_TAG, null, null); int level = 1; while(level > 0) { int eventType = pp.next(); if(eventType == XmlPullParser.END_TAG) { --level; } else if(eventType == XmlPullParser.START_TAG) { ++level; } }

Specified by:
skipSubTree in interface XmlPullParserWrapper
Throws:
XmlPullParserException
java.io.IOException

readDouble

public double readDouble()
                  throws XmlPullParserException,
                         java.io.IOException
Throws:
XmlPullParserException
java.io.IOException

readFloat

public float readFloat()
                throws XmlPullParserException,
                       java.io.IOException
Throws:
XmlPullParserException
java.io.IOException

readInt

public int readInt()
            throws XmlPullParserException,
                   java.io.IOException
Throws:
XmlPullParserException
java.io.IOException

readString

public java.lang.String readString()
                            throws XmlPullParserException,
                                   java.io.IOException
Throws:
XmlPullParserException
java.io.IOException

readDoubleElement

public double readDoubleElement(java.lang.String namespace,
                                java.lang.String name)
                         throws XmlPullParserException,
                                java.io.IOException
Throws:
XmlPullParserException
java.io.IOException

readFloatElement

public float readFloatElement(java.lang.String namespace,
                              java.lang.String name)
                       throws XmlPullParserException,
                              java.io.IOException
Throws:
XmlPullParserException
java.io.IOException

readIntElement

public int readIntElement(java.lang.String namespace,
                          java.lang.String name)
                   throws XmlPullParserException,
                          java.io.IOException
Throws:
XmlPullParserException
java.io.IOException

readStringElemet

public java.lang.String readStringElemet(java.lang.String namespace,
                                         java.lang.String name)
                                  throws XmlPullParserException,
                                         java.io.IOException
Throws:
XmlPullParserException
java.io.IOException