org.gjt.xpp
Interface XmlPullNode

All Superinterfaces:
XmlNode, XmlStartTag, XmlTag

public interface XmlPullNode
extends XmlNode

This class represents pullable XML subtree - children are built on demand.

Author:
Aleksander Slominski
See Also:
XmlNode

Method Summary
 java.util.Enumeration children()
          This is not recommened method to pull children when node is not finished (use readNextChild() instead) as Enumeration interface does not allow to throw XmlPullParserException so any parsing exeption is wrapped into RuntimeException making code more messy...
 int getChildrenCountSoFar()
           
 XmlPullParser getPullParser()
          Get parser that is use to build this node tree and this pull node becomes finished - the caller is responsibile to move pull parser state to the end tag of this node (or parent pull node will be left in unconsistent state!!!!).
 boolean isFinished()
          Is pull parsing of node finished.
 XmlNode newNode()
          context sensitive factory method to create the same type of node
 XmlPullNode newPullNode(XmlPullParser pp)
           
 void readChildren()
          Read all reminaing children up to end tag.
 java.lang.Object readNextChild()
          This is preferred method to pull children (children() requires .wrapping object Enumeration).
 void resetPullNode()
           
 void setPullParser(XmlPullParser pp)
          Reset pull node to use pull parser.
 void skipChildren()
           
 
Methods inherited from interface org.gjt.xpp.XmlNode
addDeclaredNamespaces, addNamespaceDeclaration, appendChild, ensureChildrenCapacity, ensureDeclaredNamespacesCapacity, getChildAt, getChildrenCount, getDeclaredNamespaceLength, getDefaultNamespaceUri, getParentNode, getQNameLocal, getQNameUri, insertChildAt, namespace2Prefix, newNode, prefix2Namespace, readDeclaredNamespaceUris, readDeclaredPrefixes, removeChildAt, removeChildren, removeDeclaredNamespaces, replaceChildAt, resetNode, setDefaultNamespaceUri, setParentNode
 
Methods inherited from interface org.gjt.xpp.XmlStartTag
addAttribute, addAttribute, ensureAttributesCapacity, getAttributeCount, getAttributeLocalName, getAttributeNamespaceUri, getAttributePrefix, getAttributeRawName, getAttributeValue, getAttributeValueFromName, getAttributeValueFromRawName, isAttributeNamespaceDeclaration, removeAttributeByName, removeAttributeByRawName, removeAttributes, resetStartTag
 
Methods inherited from interface org.gjt.xpp.XmlTag
getLocalName, getNamespaceUri, getPrefix, getRawName, modifyTag, resetTag
 

Method Detail

resetPullNode

public void resetPullNode()

newNode

public XmlNode newNode()
                throws XmlPullParserException
Description copied from interface: XmlNode
context sensitive factory method to create the same type of node

Specified by:
newNode in interface XmlNode
Throws:
XmlPullParserException

newPullNode

public XmlPullNode newPullNode(XmlPullParser pp)
                        throws XmlPullParserException
Throws:
XmlPullParserException

isFinished

public boolean isFinished()
Is pull parsing of node finished.


getPullParser

public XmlPullParser getPullParser()
                            throws java.io.IOException,
                                   XmlPullParserException
Get parser that is use to build this node tree and this pull node becomes finished - the caller is responsibile to move pull parser state to the end tag of this node (or parent pull node will be left in unconsistent state!!!!). The returned pull parser position will be before start tag of next child or before final end tag and the caller should use next() to move parser to start reading children. The node state becomes finished and subsequent call to this method will throw exception until setPullParser() is called. The final effect should be equivalen to calling skipNode()!

NOTE: this pull node must be in unfinished state or exception will be thrown

Throws:
java.io.IOException
XmlPullParserException

setPullParser

public void setPullParser(XmlPullParser pp)
                   throws XmlPullParserException
Reset pull node to use pull parser. Pull Parser must be on START_TAG

Throws:
XmlPullParserException

getChildrenCountSoFar

public int getChildrenCountSoFar()

children

public java.util.Enumeration children()
This is not recommened method to pull children when node is not finished (use readNextChild() instead) as Enumeration interface does not allow to throw XmlPullParserException so any parsing exeption is wrapped into RuntimeException making code more messy...

Specified by:
children in interface XmlNode
See Also:
readNextChild()

readNextChild

public java.lang.Object readNextChild()
                               throws XmlPullParserException,
                                      java.io.IOException
This is preferred method to pull children (children() requires .wrapping object Enumeration).

Returns:
next child (which is String or XmlPullNode) or null if there is no re children
Throws:
XmlPullParserException
java.io.IOException
See Also:
children()

readChildren

public void readChildren()
                  throws XmlPullParserException,
                         java.io.IOException
Read all reminaing children up to end tag.

Throws:
XmlPullParserException
java.io.IOException

skipChildren

public void skipChildren()
                  throws XmlPullParserException,
                         java.io.IOException
Throws:
XmlPullParserException
java.io.IOException


Copyright (c) 2003 IU Extreme! Lab http://www.extreme.indiana.edu/ All Rights Reserved.

Note this package is deprecated by XPP3 that implements XmlPull API