Class 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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String SCRIPT  
      static java.lang.String STYLE  
    • Constructor Summary

      Constructors 
      Constructor Description
      XmlPullParser()
      Construct.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.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 parse​(java.lang.CharSequence string)
      Parse the given string.
      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
    • 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
      • 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
      • 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
        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
      • parse

        public void parse​(java.io.InputStream in)
                   throws java.io.IOException
        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
      • parse

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

        Note: The input is closed after parsing.

        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
      • toString

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