org.blojsom.plugin.common
Class RSSEnclosurePlugin

java.lang.Object
  extended byorg.blojsom.plugin.common.RSSEnclosurePlugin
All Implemented Interfaces:
Listener, Plugin

public class RSSEnclosurePlugin
extends java.lang.Object
implements Plugin, Listener

RSSEnclosurePlugin

Since:
blojsom 3.0
Version:
$Id: RSSEnclosurePlugin.java,v 1.6 2007/01/17 02:35:09 czarneckid Exp $
Author:
David Czarnecki

Nested Class Summary
 class RSSEnclosurePlugin.RSSEnclosure
          RSS Enclosure
 
Field Summary
protected  java.util.Properties _blojsomProperties
           
protected  java.lang.String _enclosuresDirectory
           
protected  EventBroadcaster _eventBroadcaster
           
protected  javax.servlet.ServletConfig _servletConfig
           
static java.lang.String DEFAULT_MIME_TYPE
           
static java.lang.String METADATA_ESS_ENCLOSURE_OBJECT
           
static java.lang.String METADATA_RSS_ENCLOSURE
           
protected static java.lang.String MIME_TYPE_XMPEG
           
protected static java.lang.String MIME_TYPE_XMPEGURL
           
static java.lang.String RSS_ENCLOSURE_LENGTH
           
static java.lang.String RSS_ENCLOSURE_TYPE
           
static java.lang.String RSS_ENCLOSURE_URL
           
 
Constructor Summary
RSSEnclosurePlugin()
          Default constructor
 
Method Summary
protected  void addAdditionalMimeTypes(javax.activation.MimetypesFileTypeMap mimeTypes)
          Add additional mime types to the map
 void cleanup()
          Perform any cleanup for the plugin.
 void destroy()
          Called when BlojsomServlet is taken out of service
protected  java.lang.String[] discoverEnclosureProperties(java.lang.String rssEnclosureURL)
          Discover the content length and content type for an enclosure URL
 void handleEvent(Event event)
          Handle an event broadcast from another component
 void init()
          Initialize this plugin.
 Entry[] process(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse, Blog blog, java.util.Map context, Entry[] entries)
          Process the blog entries
 void processEvent(Event event)
          Process an event from another component
 void setBlojsomProperties(java.util.Properties blojsomProperties)
          Set the default blojsom properties
 void setEnclosuresDirectory(java.lang.String enclosuresDirectory)
          Set the directory for enclosures
 void setEventBroadcaster(EventBroadcaster eventBroadcaster)
          Set the EventBroadcaster
 void setServletConfig(javax.servlet.ServletConfig servletConfig)
          Set the ServletConfig
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MIME_TYPE_XMPEGURL

protected static final java.lang.String MIME_TYPE_XMPEGURL
See Also:
Constant Field Values

MIME_TYPE_XMPEG

protected static final java.lang.String MIME_TYPE_XMPEG
See Also:
Constant Field Values

DEFAULT_MIME_TYPE

public static final java.lang.String DEFAULT_MIME_TYPE
See Also:
Constant Field Values

METADATA_RSS_ENCLOSURE

public static final java.lang.String METADATA_RSS_ENCLOSURE
See Also:
Constant Field Values

METADATA_ESS_ENCLOSURE_OBJECT

public static final java.lang.String METADATA_ESS_ENCLOSURE_OBJECT
See Also:
Constant Field Values

RSS_ENCLOSURE_URL

public static final java.lang.String RSS_ENCLOSURE_URL
See Also:
Constant Field Values

RSS_ENCLOSURE_LENGTH

public static final java.lang.String RSS_ENCLOSURE_LENGTH
See Also:
Constant Field Values

RSS_ENCLOSURE_TYPE

public static final java.lang.String RSS_ENCLOSURE_TYPE
See Also:
Constant Field Values

_eventBroadcaster

protected EventBroadcaster _eventBroadcaster

_servletConfig

protected javax.servlet.ServletConfig _servletConfig

_blojsomProperties

protected java.util.Properties _blojsomProperties

_enclosuresDirectory

protected java.lang.String _enclosuresDirectory
Constructor Detail

RSSEnclosurePlugin

public RSSEnclosurePlugin()
Default constructor

Method Detail

setBlojsomProperties

public void setBlojsomProperties(java.util.Properties blojsomProperties)
Set the default blojsom properties

Parameters:
blojsomProperties - Default blojsom properties

setServletConfig

public void setServletConfig(javax.servlet.ServletConfig servletConfig)
Set the ServletConfig

Parameters:
servletConfig - ServletConfig

setEventBroadcaster

public void setEventBroadcaster(EventBroadcaster eventBroadcaster)
Set the EventBroadcaster

Parameters:
eventBroadcaster - EventBroadcaster

setEnclosuresDirectory

public void setEnclosuresDirectory(java.lang.String enclosuresDirectory)
Set the directory for enclosures

Parameters:
enclosuresDirectory - Enclosures directory

init

public void init()
          throws PluginException
Initialize this plugin. This method only called when the plugin is instantiated.

Specified by:
init in interface Plugin
Throws:
PluginException - If there is an error initializing the plugin

addAdditionalMimeTypes

protected void addAdditionalMimeTypes(javax.activation.MimetypesFileTypeMap mimeTypes)
Add additional mime types to the map

Parameters:
mimeTypes - Mime types map

process

public Entry[] process(javax.servlet.http.HttpServletRequest httpServletRequest,
                       javax.servlet.http.HttpServletResponse httpServletResponse,
                       Blog blog,
                       java.util.Map context,
                       Entry[] entries)
                throws PluginException
Process the blog entries

Specified by:
process in interface Plugin
Parameters:
httpServletRequest - Request
httpServletResponse - Response
blog - Blog instance
context - Context
entries - Blog entries retrieved for the particular request
Returns:
Modified set of blog entries
Throws:
PluginException - If there is an error processing the blog entries

cleanup

public void cleanup()
             throws PluginException
Perform any cleanup for the plugin. Called after process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.blojsom.blog.Blog, java.util.Map, org.blojsom.blog.Entry[]).

Specified by:
cleanup in interface Plugin
Throws:
PluginException - If there is an error performing cleanup for this plugin

destroy

public void destroy()
             throws PluginException
Called when BlojsomServlet is taken out of service

Specified by:
destroy in interface Plugin
Throws:
PluginException - If there is an error in finalizing this plugin

handleEvent

public void handleEvent(Event event)
Handle an event broadcast from another component

Specified by:
handleEvent in interface Listener
Parameters:
event - Event to be handled

processEvent

public void processEvent(Event event)
Process an event from another component

Specified by:
processEvent in interface Listener
Parameters:
event - Event to be handled

discoverEnclosureProperties

protected java.lang.String[] discoverEnclosureProperties(java.lang.String rssEnclosureURL)
Discover the content length and content type for an enclosure URL

Parameters:
rssEnclosureURL - URL for enclosure
Returns:
String array containing the enclosure's content length and content type