Class DefaultRSSGenerator

All Implemented Interfaces:
Initializable, RSSGenerator

public class DefaultRSSGenerator
extends java.lang.Object
implements RSSGenerator
Default implementation for RSSGenerator.
  • Constructor Details

    • DefaultRSSGenerator

      public DefaultRSSGenerator​(Engine engine, java.util.Properties properties)
      Builds the RSS generator for a given Engine.
      engine - The Engine.
      properties - The properties.
  • Method Details

    • initialize

      public void initialize​(Engine engine, java.util.Properties properties)

      Initializes this Engine component. Note that the engine is not fully initialized at this point, so don't do anything fancy here - use lazy init, if you have to.

      Start the RSS generator & generator thread
      Specified by:
      initialize in interface Initializable
      engine - Engine performing the initialization.
      properties - Properties for setup.
    • generate

      public java.lang.String generate()
      Generates the RSS resource. You probably want to output this result into a file or something, or serve as output from a servlet.
      Specified by:
      generate in interface RSSGenerator
      A RSS 1.0 feed in the "full" mode.
    • generateFeed

      public java.lang.String generateFeed​(Context wikiContext, java.util.List<Page> changed, java.lang.String mode, java.lang.String type) throws java.lang.IllegalArgumentException
      Generates a feed based on a context and list of changes.
      Specified by:
      generateFeed in interface RSSGenerator
      wikiContext - The WikiContext
      changed - A list of Entry objects
      mode - The mode (wiki/blog)
      type - The type (RSS10, RSS20, ATOM). Default is RSS 1.0
      Fully formed XML.
      java.lang.IllegalArgumentException - If an illegal mode is given.
    • isEnabled

      public boolean isEnabled()
      Returns true if RSS generation is enabled.
      Specified by:
      isEnabled in interface RSSGenerator
      whether RSS generation is currently enabled
    • setEnabled

      public void setEnabled​(boolean enabled)
      Turns RSS generation on or off. This setting is used to set the "enabled" flag only for use by callers, and does not actually affect whether the RSSGenerator.generate() or RSSGenerator.generateFeed(Context, List, String, String) methods output anything.
      Specified by:
      setEnabled in interface RSSGenerator
      enabled - whether RSS generation is considered enabled.
    • getRssFile

      public java.lang.String getRssFile()
      returns the rss file.
      Specified by:
      getRssFile in interface RSSGenerator
      the rss file.
    • generateFullWikiRSS

      public java.lang.String generateFullWikiRSS​(Context wikiContext, Feed feed)
      Generates an RSS feed for the entire wiki. Each item should be an instance of the RSSItem class.
      Specified by:
      generateFullWikiRSS in interface RSSGenerator
      wikiContext - A WikiContext
      feed - A Feed to generate the feed to.
    • generateWikiPageRSS

      public java.lang.String generateWikiPageRSS​(Context wikiContext, java.util.List<Page> changed, Feed feed)
      Create RSS/Atom as if this page was a wikipage (in contrast to Blog mode).
      Specified by:
      generateWikiPageRSS in interface RSSGenerator
      wikiContext - The WikiContext
      changed - A List of changed WikiPages.
      feed - A Feed object to fill.
      the RSS representation of the wiki context
    • generateBlogRSS

      public java.lang.String generateBlogRSS​(Context wikiContext, java.util.List<Page> changed, Feed feed)
      Creates RSS from modifications as if this page was a blog (using the WeblogPlugin).
      Specified by:
      generateBlogRSS in interface RSSGenerator
      wikiContext - The WikiContext, as usual.
      changed - A list of the changed pages.
      feed - A valid Feed object. The feed will be used to create the RSS/Atom, depending on which kind of an object you want to put in it.
      A String of valid RSS or Atom.