org.apache.wicket.markup.parser
Class XmlPullParser

java.lang.Object
  extended by org.apache.wicket.markup.parser.XmlPullParser
All Implemented Interfaces:
IXmlPullParser

public final class XmlPullParser
extends java.lang.Object
implements IXmlPullParser

A fairly shallow markup pull parser which parses a markup string of a given type of markup (for example, html, xml, vxml or wml) into ComponentTag and RawMarkup tokens.

Author:
Jonathan Locke, Juergen Donnerstag

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.wicket.markup.parser.IXmlPullParser
IXmlPullParser.HttpTagType
 
Field Summary
static java.lang.String SCRIPT
           
static java.lang.String STYLE
           
 
Constructor Summary
XmlPullParser()
          Construct.
 
Method Summary
 java.lang.CharSequence getDoctype()
          Gets the <!DOCTYPE ...> tag if found in the markup
 XmlTag getElement()
           
 java.lang.String getEncoding()
          Return the encoding applied while reading the markup resource.
 java.lang.CharSequence getInput(int fromPos, int toPos)
          Wicket dissects the markup into Wicket relevant tags and raw markup, which is not further analyzed by Wicket.
 java.lang.CharSequence getInputFromPositionMarker(int toPos)
          Wicket dissects the markup into Wicket relevant tags and raw markup, which is not further analyzed by Wicket.
 java.lang.CharSequence getString()
           
 IXmlPullParser.HttpTagType next()
          Move to the next XML element
 XmlTag nextTag()
           
 void parse(java.lang.CharSequence string)
          Parse the given string.
 void parse(java.io.InputStream in)
          Reads and parses markup from an input stream, using UTF-8 encoding by default when not specified in XML declaration.
 void parse(java.io.InputStream inputStream, java.lang.String encoding)
          Reads and parses markup from an input stream
 void setPositionMarker()
          Set the position marker of the markup at the current position.
 void setPositionMarker(int pos)
          Set the position marker of the markup
protected  void specialTagHandling(java.lang.String tagText, int openBracketIndex, int closeBracketIndex)
          Handle special tags like or or
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

STYLE

public static final java.lang.String STYLE
See Also:
Constant Field Values

SCRIPT

public static final java.lang.String SCRIPT
See Also:
Constant Field Values
Constructor Detail

XmlPullParser

public XmlPullParser()
Construct.

Method Detail

getEncoding

public final java.lang.String getEncoding()
Description copied from interface: IXmlPullParser
Return the encoding applied while reading the markup resource. The encoding is determined by analyzing the <?xml version=".." encoding=".." ?> tag.

Specified by:
getEncoding in interface IXmlPullParser
Returns:
if null, JVM defaults have been used.

getDoctype

public final java.lang.CharSequence getDoctype()
Description copied from interface: IXmlPullParser
Gets the <!DOCTYPE ...> tag if found in the markup

Specified by:
getDoctype in interface IXmlPullParser
Returns:
Null, if not found

getInputFromPositionMarker

public final java.lang.CharSequence getInputFromPositionMarker(int toPos)
Description copied from interface: IXmlPullParser
Wicket dissects the markup into Wicket relevant tags and raw markup, which is not further analyzed by Wicket. The method getInputFromPositionMarker() is used to access the raw markup.

Specified by:
getInputFromPositionMarker in interface IXmlPullParser
Parameters:
toPos - To position
Returns:
The raw markup in between the position marker and toPos

getInput

public final java.lang.CharSequence getInput(int fromPos,
                                             int toPos)
Description copied from interface: IXmlPullParser
Wicket dissects the markup into Wicket relevant tags and raw markup, which is not further analyzed by Wicket. The getInputSubsequence() method is used to access the raw markup.

Specified by:
getInput in interface IXmlPullParser
Parameters:
fromPos - From position
toPos - To position
Returns:
The raw markup in between fromPos and toPos

next

public final IXmlPullParser.HttpTagType next()
                                      throws java.text.ParseException
Description copied from interface: IXmlPullParser
Move to the next XML element

Specified by:
next in interface IXmlPullParser
Returns:
XXX
Throws:
java.text.ParseException

specialTagHandling

protected void specialTagHandling(java.lang.String tagText,
                                  int openBracketIndex,
                                  int closeBracketIndex)
                           throws java.text.ParseException
Handle special tags like or or

Parameters:
tagText -
openBracketIndex -
closeBracketIndex -
Throws:
java.text.ParseException

getElement

public final XmlTag getElement()
Specified by:
getElement in interface IXmlPullParser
Returns:
MarkupElement

getString

public final java.lang.CharSequence getString()
Specified by:
getString in interface IXmlPullParser
Returns:
The xml string from the last element

nextTag

public final XmlTag nextTag()
                     throws java.text.ParseException
Returns:
The next XML tag
Throws:
java.text.ParseException

parse

public void parse(java.lang.CharSequence string)
           throws java.io.IOException,
                  ResourceStreamNotFoundException
Parse the given string.

Note: xml character encoding is NOT applied. It is assumed the input provided does have the correct encoding already.

Specified by:
parse in interface IXmlPullParser
Parameters:
string - The input string
Throws:
java.io.IOException - Error while reading the resource
ResourceStreamNotFoundException - Resource not found

parse

public void parse(java.io.InputStream in)
           throws java.io.IOException,
                  ResourceStreamNotFoundException
Reads and parses markup from an input stream, using UTF-8 encoding by default when not specified in XML declaration.

Specified by:
parse in interface IXmlPullParser
Parameters:
in - The input stream to read and parse
Throws:
java.io.IOException
ResourceStreamNotFoundException

parse

public void parse(java.io.InputStream inputStream,
                  java.lang.String encoding)
           throws java.io.IOException
Reads and parses markup from an input stream

Specified by:
parse in interface IXmlPullParser
Parameters:
inputStream - The input stream to read and parse
encoding - The default character encoding of the input
Throws:
java.io.IOException

setPositionMarker

public final void setPositionMarker()
Description copied from interface: IXmlPullParser
Set the position marker of the markup at the current position.

Specified by:
setPositionMarker in interface IXmlPullParser

setPositionMarker

public final void setPositionMarker(int pos)
Description copied from interface: IXmlPullParser
Set the position marker of the markup

Specified by:
setPositionMarker in interface IXmlPullParser

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.