Class RSS090Parser

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        RSS090Parser()  
      protected RSS090Parser​(String type, org.jdom2.Namespace ns)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.jdom2.Namespace getContentNamespace()
      Returns the namespace used by Content Module elements in document.
      protected org.jdom2.Element getImage​(org.jdom2.Element rssRoot)
      This method exists because RSS0.90 and RSS1.0 have the 'image' element under the root elemment.
      protected List<org.jdom2.Element> getItems​(org.jdom2.Element rssRoot)
      This method exists because RSS0.90 and RSS1.0 have the 'item' elements under the root elemment.
      protected org.jdom2.Namespace getRDFNamespace()
      Returns the namespace used by RDF elements in document of the RSS version the parser supports.
      protected org.jdom2.Namespace getRSSNamespace()
      Returns the namespace used by RSS elements in document of the RSS version the parser supports.
      protected org.jdom2.Element getTextInput​(org.jdom2.Element rssRoot)
      This method exists because RSS0.90 and RSS1.0 have the 'textinput' element under the root elemment.
      boolean isMyType​(org.jdom2.Document document)
      Inspects an XML Document (JDOM) to check if it can parse it.
      WireFeed parse​(org.jdom2.Document document, boolean validate, Locale locale)
      Parses an XML document (JDOM Document) into a feed bean.
      protected WireFeed parseChannel​(org.jdom2.Element rssRoot, Locale locale)
      Parses the root element of an RSS document into a Channel bean.
      protected Image parseImage​(org.jdom2.Element rssRoot)
      Parses the root element of an RSS document looking for image information.
      protected Item parseItem​(org.jdom2.Element rssRoot, org.jdom2.Element eItem, Locale locale)
      Parses an item element of an RSS document looking for item information.
      protected List<Item> parseItems​(org.jdom2.Element rssRoot, Locale locale)
      Parses the root element of an RSS document looking for all items information.
      protected TextInput parseTextInput​(org.jdom2.Element rssRoot)
      Parses the root element of an RSS document looking for text-input information.
      protected void validateFeed​(org.jdom2.Document document)  
    • Constructor Detail

      • RSS090Parser

        public RSS090Parser()
      • RSS090Parser

        protected RSS090Parser​(String type,
                               org.jdom2.Namespace ns)
    • Method Detail

      • isMyType

        public boolean isMyType​(org.jdom2.Document document)
        Description copied from interface: WireFeedParser
        Inspects an XML Document (JDOM) to check if it can parse it.

        It checks if the given document if the type of feeds the parser understands.

        Parameters:
        document - XML Document (JDOM) to check if it can be parsed by this parser.
        Returns:
        true if the parser know how to parser this feed, false otherwise.
      • parse

        public WireFeed parse​(org.jdom2.Document document,
                              boolean validate,
                              Locale locale)
                       throws IllegalArgumentException,
                              FeedException
        Description copied from interface: WireFeedParser
        Parses an XML document (JDOM Document) into a feed bean.

        Parameters:
        document - XML document (JDOM) to parse.
        validate - indicates if the feed should be strictly validated (NOT YET IMPLEMENTED).
        Returns:
        the resulting feed bean.
        Throws:
        IllegalArgumentException - thrown if the parser cannot handle the given feed type.
        FeedException - thrown if a feed bean cannot be created out of the XML document (JDOM).
      • getRSSNamespace

        protected org.jdom2.Namespace getRSSNamespace()
        Returns the namespace used by RSS elements in document of the RSS version the parser supports.

        This implementation returns the EMTPY namespace.

        Returns:
        returns the EMPTY namespace.
      • getRDFNamespace

        protected org.jdom2.Namespace getRDFNamespace()
        Returns the namespace used by RDF elements in document of the RSS version the parser supports.

        This implementation returns the EMTPY namespace.

        Returns:
        returns the EMPTY namespace.
      • getContentNamespace

        protected org.jdom2.Namespace getContentNamespace()
        Returns the namespace used by Content Module elements in document.

        This implementation returns the EMTPY namespace.

        Returns:
        returns the EMPTY namespace.
      • parseChannel

        protected WireFeed parseChannel​(org.jdom2.Element rssRoot,
                                        Locale locale)
        Parses the root element of an RSS document into a Channel bean.

        It reads title, link and description and delegates to parseImage, parseItems and parseTextInput. This delegation always passes the root element of the RSS document as different RSS version may have this information in different parts of the XML tree (no assumptions made thanks to the specs variaty)

        Parameters:
        rssRoot - the root element of the RSS document to parse.
        Returns:
        the parsed Channel bean.
      • getItems

        protected List<org.jdom2.Element> getItems​(org.jdom2.Element rssRoot)
        This method exists because RSS0.90 and RSS1.0 have the 'item' elements under the root elemment. And RSS0.91, RSS0.02, RSS0.93, RSS0.94 and RSS2.0 have the item elements under the 'channel' element.

      • getImage

        protected org.jdom2.Element getImage​(org.jdom2.Element rssRoot)
        This method exists because RSS0.90 and RSS1.0 have the 'image' element under the root elemment. And RSS0.91, RSS0.02, RSS0.93, RSS0.94 and RSS2.0 have it under the 'channel' element.

      • getTextInput

        protected org.jdom2.Element getTextInput​(org.jdom2.Element rssRoot)
        This method exists because RSS0.90 and RSS1.0 have the 'textinput' element under the root elemment. And RSS0.91, RSS0.02, RSS0.93, RSS0.94 and RSS2.0 have it under the 'channel' element.

      • parseImage

        protected Image parseImage​(org.jdom2.Element rssRoot)
        Parses the root element of an RSS document looking for image information.

        It reads title and url out of the 'image' element.

        Parameters:
        rssRoot - the root element of the RSS document to parse for image information.
        Returns:
        the parsed image bean.
      • parseItems

        protected List<Item> parseItems​(org.jdom2.Element rssRoot,
                                        Locale locale)
        Parses the root element of an RSS document looking for all items information.

        It iterates through the item elements list, obtained from the getItems() method, and invoke parseItem() for each item element. The resulting RSSItem of each item element is stored in a list.

        Parameters:
        rssRoot - the root element of the RSS document to parse for all items information.
        Returns:
        a list with all the parsed RSSItem beans.
      • parseItem

        protected Item parseItem​(org.jdom2.Element rssRoot,
                                 org.jdom2.Element eItem,
                                 Locale locale)
        Parses an item element of an RSS document looking for item information.

        It reads title and link out of the 'item' element.

        Parameters:
        rssRoot - the root element of the RSS document in case it's needed for context.
        eItem - the item element to parse.
        Returns:
        the parsed RSSItem bean.
      • parseTextInput

        protected TextInput parseTextInput​(org.jdom2.Element rssRoot)
        Parses the root element of an RSS document looking for text-input information.

        It reads title, description, name and link out of the 'textinput' or 'textInput' element.

        Parameters:
        rssRoot - the root element of the RSS document to parse for text-input information.
        Returns:
        the parsed RSSTextInput bean.