org.clapper.curn.plugins
Class RawFeedSaveAsPlugIn

java.lang.Object
  extended by org.clapper.curn.plugins.RawFeedSaveAsPlugIn
All Implemented Interfaces:
FeedConfigItemPlugIn, PlugIn, PostConfigPlugIn, PostFeedDownloadPlugIn, PreFeedDownloadPlugIn

public class RawFeedSaveAsPlugIn
extends java.lang.Object
implements FeedConfigItemPlugIn, PostConfigPlugIn, PreFeedDownloadPlugIn, PostFeedDownloadPlugIn

The RawFeedSaveAsPlugIn handles saving a feed to a known location. It intercepts the following per-feed configuration parameters:

SaveAs Path to file where raw XML should be saved.
SaveOnly Indicates that raw XML should be saved, but not parsed. This parameter can only be specified if SaveAs is also specified.
SaveAsEncoding The character set encoding to use when saving the file. Default: "utf-8"

Version:
$Revision: 6491 $

Constructor Summary
RawFeedSaveAsPlugIn()
          Default constructor (required).
 
Method Summary
 java.lang.String getPlugInName()
          Get a displayable name for the plug-in.
 java.lang.String getPlugInSortKey()
          Get the sort key for this plug-in.
 void initPlugIn()
          Initialize the plug-in.
 boolean runFeedConfigItemPlugIn(java.lang.String sectionName, java.lang.String paramName, CurnConfig config, FeedInfo feedInfo)
          Called immediately after curn has read and processed a configuration item in a "feed" configuration section.
 void runPostConfigPlugIn(CurnConfig config)
          Called after the entire configuration has been read and parsed, but before any feeds are processed.
 boolean runPostFeedDownloadPlugIn(FeedInfo feedInfo, java.io.File feedDataFile, java.lang.String encoding)
          Called immediately after a feed is downloaded.
 boolean runPreFeedDownloadPlugIn(FeedInfo feedInfo, java.net.URLConnection urlConn)
          Called just before a feed is downloaded.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RawFeedSaveAsPlugIn

public RawFeedSaveAsPlugIn()
Default constructor (required).

Method Detail

getPlugInName

public java.lang.String getPlugInName()
Get a displayable name for the plug-in.

Specified by:
getPlugInName in interface PlugIn
Returns:
the name

getPlugInSortKey

public java.lang.String getPlugInSortKey()
Get the sort key for this plug-in.

Specified by:
getPlugInSortKey in interface PlugIn
Returns:
the sort key string.

initPlugIn

public void initPlugIn()
                throws CurnException
Initialize the plug-in. This method is called before any of the plug-in methods are called.

Specified by:
initPlugIn in interface PlugIn
Throws:
CurnException - on error

runFeedConfigItemPlugIn

public boolean runFeedConfigItemPlugIn(java.lang.String sectionName,
                                       java.lang.String paramName,
                                       CurnConfig config,
                                       FeedInfo feedInfo)
                                throws CurnException
Called immediately after curn has read and processed a configuration item in a "feed" configuration section. All configuration items are passed, one by one, to each loaded plug-in. If a plug-in class is not interested in a particular configuration item, this method should simply return without doing anything. Note that some configuration items may simply be variable assignment; there's no real way to distinguish a variable assignment from a blessed configuration item.

Specified by:
runFeedConfigItemPlugIn in interface FeedConfigItemPlugIn
Parameters:
sectionName - the name of the configuration section where the item was found
paramName - the name of the parameter
config - the active configuration
feedInfo - partially complete FeedInfo object for the feed. The URL is guaranteed to be present, but no other fields are.
Returns:
true to continue processing the feed, false to skip it
Throws:
CurnException - on error
See Also:
CurnConfig, FeedInfo, FeedInfo.getURL()

runPostConfigPlugIn

public void runPostConfigPlugIn(CurnConfig config)
                         throws CurnException
Called after the entire configuration has been read and parsed, but before any feeds are processed. Intercepting this event is useful for plug-ins that want to adjust the configuration. For instance, the curn command-line wrapper intercepts this plug-in event so it can adjust the configuration to account for command line options.

Specified by:
runPostConfigPlugIn in interface PostConfigPlugIn
Parameters:
config - the parsed CurnConfig object
Throws:
CurnException - on error
See Also:
CurnConfig

runPreFeedDownloadPlugIn

public boolean runPreFeedDownloadPlugIn(FeedInfo feedInfo,
                                        java.net.URLConnection urlConn)
                                 throws CurnException

Called just before a feed is downloaded. This method can return false to signal curn that the feed should be skipped. The plug-in method can also set values on the URLConnection used to download the plug-in, via URL.setRequestProperty(). (Note that all URLs, even file: URLs, are passed into this method. Setting a request property on the URLConnection object for a file: URL will have no effect--though it isn't specifically harmful.)

Possible uses for a pre-feed download plug-in include:

Specified by:
runPreFeedDownloadPlugIn in interface PreFeedDownloadPlugIn
Parameters:
feedInfo - the FeedInfo object for the feed to be downloaded
urlConn - the java.net.URLConnection object that will be used to download the feed's XML.
Returns:
true if curn should continue to process the feed, false to skip the feed
Throws:
CurnException - on error
See Also:
FeedInfo

runPostFeedDownloadPlugIn

public boolean runPostFeedDownloadPlugIn(FeedInfo feedInfo,
                                         java.io.File feedDataFile,
                                         java.lang.String encoding)
                                  throws CurnException
Called immediately after a feed is downloaded. This method can return false to signal curn that the feed should be skipped. For instance, a plug-in that filters on the unparsed XML feed content could use this method to weed out non-matching feeds before they are downloaded.

Specified by:
runPostFeedDownloadPlugIn in interface PostFeedDownloadPlugIn
Parameters:
feedInfo - the FeedInfo object for the feed that has been downloaded
feedDataFile - the file containing the downloaded, unparsed feed XML. curn may delete this file after all plug-ins are notified!
encoding - the encoding used to store the data in the file, or null for the default
Returns:
true if curn should continue to process the feed, false to skip the feed. A return value of false aborts all further processing on the feed. In particular, curn will not pass the feed along to other plug-ins that have yet to be notified of this event.
Throws:
CurnException - on error
See Also:
FeedInfo


Copyright © 2004-2006 Brian M. Clapper. All Rights Reserved.