Class XMLParser


  • public class XMLParser
    extends java.lang.Object
    Reads an XML file. Attach a XMLParserListener for receiving events.
    Author:
    redlab_b
    • Constructor Summary

      Constructors 
      Constructor Description
      XMLParser()
      Constructs a default XMLParser ready for HTML/XHTML processing.
      XMLParser​(boolean b, XMLParserListener listener)
      Constructs a new Parser with the default jvm charset.
      XMLParser​(boolean isHtml, XMLParserListener listener, java.nio.charset.Charset charset)
      Construct a XMLParser with the given XMLParserConfig.
      XMLParser​(boolean isHtml, java.nio.charset.Charset charset)
      Constructs a XMLParser.
      XMLParser​(XMLParserListener listener)
      Constructs a new Parser with HTML parsing set to true and the default jvm charset.
      XMLParser​(XMLParserListener listener, java.nio.charset.Charset charset)
      Construct an XMLParser with the given XMLParserConfig ready for HTML/XHTML processing..
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      XMLParser addListener​(XMLParserListener pl)
      If no ParserListener is added, parsing with the parser seems useless no?
      XMLParser append​(char character)  
      XMLParser append​(char[] bytes)  
      XMLParser append​(java.lang.String string)
      Appends the given string to the buffer.
      int bufferSize()  
      java.lang.String bufferToString()  
      void comment()
      Triggered for comments.
      java.lang.String current()
      Returns the current content of the text buffer.
      char currentLastChar()  
      java.lang.String currentTag()
      Get the current tag
      TagState currentTagState()
      Get the state of the current tag
      java.io.InputStreamReader detectEncoding​(java.io.InputStream in)
      Detects encoding from a stream.
      void endElement()
      Triggered when a closing tag has been encountered.
      void flush()
      Flushes the currently stored data in the buffer.
      java.nio.charset.Charset getCharset()
      Returns the current used character set.
      boolean isDecodeSpecialChars()  
      XMLParserMemory memory()
      Returns the XMLParserMemory.
      void parse​(java.io.InputStream in)
      Parse an InputStream with default encoding set
      void parse​(java.io.InputStream in, boolean detectEncoding)
      Parse an InputStream that optionally detects encoding from the stream
      void parse​(java.io.InputStream in, java.nio.charset.Charset charSet)
      Parses an InputStream using the given encoding
      void parse​(java.io.Reader reader)
      Parse an Reader
      XMLParser removeListener​(XMLParserListener pl)
      Removes a Listener from the list of listeners.
      StateController selectState()
      The state controller of the parser
      void setDecodeSpecialChars​(boolean decodeSpecialChars)
      Determines whether special chars like > will be decoded
      void setMonitor​(ParserMonitor monitor)  
      protected void setState​(State state)
      Set the current state.
      void startElement()
      Triggered when an opening tag has been encountered.
      void text​(java.lang.String bs)
      Triggered when content has been encountered.
      void unknownData()
      Triggered when the UnknownState encountered anything before encountering a tag.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • XMLParser

        public XMLParser()
        Constructs a default XMLParser ready for HTML/XHTML processing.
      • XMLParser

        public XMLParser​(boolean isHtml,
                         java.nio.charset.Charset charset)
        Constructs a XMLParser.
        Parameters:
        isHtml - false if this parser is not going to parse HTML and whitespace should be submitted as text too.
        charset - charset
      • XMLParser

        public XMLParser​(XMLParserListener listener,
                         java.nio.charset.Charset charset)
        Construct an XMLParser with the given XMLParserConfig ready for HTML/XHTML processing..
        Parameters:
        listener - the listener
        charset - the Charset
      • XMLParser

        public XMLParser​(boolean isHtml,
                         XMLParserListener listener,
                         java.nio.charset.Charset charset)
        Construct a XMLParser with the given XMLParserConfig.
        Parameters:
        isHtml - false if this parser is not going to parse HTML and whitespace should be submitted as text too.
        listener - the listener
        charset - the Charset to use
      • XMLParser

        public XMLParser​(boolean b,
                         XMLParserListener listener)
        Constructs a new Parser with the default jvm charset.
        Parameters:
        b - true if HTML is being parsed
        listener - the XMLParserListener
      • XMLParser

        public XMLParser​(XMLParserListener listener)
        Constructs a new Parser with HTML parsing set to true and the default jvm charset.
        Parameters:
        listener - the XMLParserListener
    • Method Detail

      • parse

        public void parse​(java.io.InputStream in)
                   throws java.io.IOException
        Parse an InputStream with default encoding set
        Parameters:
        in - the InputStream to parse
        Throws:
        java.io.IOException - if IO went wrong
      • parse

        public void parse​(java.io.InputStream in,
                          boolean detectEncoding)
                   throws java.io.IOException
        Parse an InputStream that optionally detects encoding from the stream
        Parameters:
        in - the InputStream to parse
        detectEncoding - true if encoding should be detected from the stream
        Throws:
        java.io.IOException - if IO went wrong
      • parse

        public void parse​(java.io.InputStream in,
                          java.nio.charset.Charset charSet)
                   throws java.io.IOException
        Parses an InputStream using the given encoding
        Parameters:
        in - the stream to read
        charSet - to use for the constructed reader.
        Throws:
        java.io.IOException - if reading fails
      • parse

        public void parse​(java.io.Reader reader)
                   throws java.io.IOException
        Parse an Reader
        Parameters:
        reader - the reader
        Throws:
        java.io.IOException - if IO went wrong
      • detectEncoding

        public java.io.InputStreamReader detectEncoding​(java.io.InputStream in)
                                                 throws java.io.IOException,
                                                        java.io.UnsupportedEncodingException
        Detects encoding from a stream.
        Parameters:
        in - the stream
        Returns:
        a Reader with the deduced encoding.
        Throws:
        java.io.IOException - if IO went wrong
        java.io.UnsupportedEncodingException - if unsupported encoding was detected
      • setState

        protected void setState​(State state)
        Set the current state.
        Parameters:
        state - the current state
      • append

        public XMLParser append​(char character)
        Parameters:
        character - the character to append
        Returns:
        the parser
      • unknownData

        public void unknownData()
        Triggered when the UnknownState encountered anything before encountering a tag.
      • flush

        public void flush()
        Flushes the currently stored data in the buffer.
      • current

        public java.lang.String current()
        Returns the current content of the text buffer.
        Returns:
        current buffer content
      • memory

        public XMLParserMemory memory()
        Returns the XMLParserMemory.
        Returns:
        the memory
      • startElement

        public void startElement()
        Triggered when an opening tag has been encountered.
      • endElement

        public void endElement()
        Triggered when a closing tag has been encountered.
      • text

        public void text​(java.lang.String bs)
        Triggered when content has been encountered.
        Parameters:
        bs - the content
      • comment

        public void comment()
        Triggered for comments.
      • currentLastChar

        public char currentLastChar()
        Returns:
        the current last character of the buffer or ' ' if none.
      • currentTag

        public java.lang.String currentTag()
        Get the current tag
        Returns:
        the current tag.
      • currentTagState

        public TagState currentTagState()
        Get the state of the current tag
        Returns:
        the state of the current tag
      • setMonitor

        public void setMonitor​(ParserMonitor monitor)
        Parameters:
        monitor - the monitor to set
      • setDecodeSpecialChars

        public void setDecodeSpecialChars​(boolean decodeSpecialChars)
        Determines whether special chars like > will be decoded
        Parameters:
        decodeSpecialChars - true to decode, false to not decode
      • isDecodeSpecialChars

        public boolean isDecodeSpecialChars()
      • bufferToString

        public java.lang.String bufferToString()
        Returns:
        the current buffer as a String
      • append

        public XMLParser append​(char[] bytes)
        Parameters:
        bytes - the byte array to append
        Returns:
        this instance of the XMLParser
      • bufferSize

        public int bufferSize()
        Returns:
        the size of the buffer
      • append

        public XMLParser append​(java.lang.String string)
        Appends the given string to the buffer.
        Parameters:
        string - the String to append
        Returns:
        this instance of the XMLParser
      • getCharset

        public java.nio.charset.Charset getCharset()
        Returns the current used character set.
        Returns:
        the charset