src.modules
Class RSSModule

java.lang.Object
  extended bysrc.server.ModuleClass
      extended bysrc.modules.RSSModule
All Implemented Interfaces:
EventReceiver, Module

public class RSSModule
extends ModuleClass
implements EventReceiver

Provides some basic RSS functionality. The user can choose between several predefined RSS feeds and add additional ones (only visable to that user). The module supports both quering for the latest news (by default the latest 10 days), and registering to get the latest news as an alert. Using the second method means that new news is sent to the user when the news appears. The news can be sent in two fashions, short: Date, Title and the Link or long: Date, Title and the contents of the news. Example queries:

Version:
2005-maj-09

Constructor Summary
RSSModule()
          Constructor for RSSModule.
 
Method Summary
 boolean isValidCache(ModuleQuery query, java.lang.String cachedUserId, long cacheAge)
          Checks if a cached result is valid or not based on how long ago the result was cached.
 Package processQuery(ModuleQuery query)
          Process a user sent query.
 Package processSettingRequest(QueryPackage query)
          This is the default setting handler.
 void triggerEvent(java.lang.String eventId)
          Triggers an event with a specific id.
 
Methods inherited from class src.server.ModuleClass
getModuleMeta, processSettingRequest, setModuleMeta
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RSSModule

public RSSModule()
          throws java.lang.IllegalStateException
Constructor for RSSModule.

Method Detail

isValidCache

public boolean isValidCache(ModuleQuery query,
                            java.lang.String cachedUserId,
                            long cacheAge)
Description copied from interface: Module
Checks if a cached result is valid or not based on how long ago the result was cached. Some services might work fine with returning very old cached results, for instance the result of a map service wont change (often at least) and most cache ages would then be valid. Other things like news services on the other hand should not allow a long cache age.

Specified by:
isValidCache in interface Module
Parameters:
query - The user query that resulted in the cached result. The user's query parameters are identical to the cached query parameters.
cachedUserId - The userId of the query that is cached.
cacheAge - The number of seconds that has elapsed since the cached version was cached.
Returns:
True if the cache should be concidered to still be valid. False otherwise.

processQuery

public Package processQuery(ModuleQuery query)
Description copied from interface: Module
Process a user sent query. This is very individual depending on the service provided by the module.

Specified by:
processQuery in interface Module
Parameters:
query - The user sent query.
Returns:
An ErrorPackage if an error occured while processing the query, an OutputPackage with the result otherwise.

triggerEvent

public void triggerEvent(java.lang.String eventId)
Description copied from interface: EventReceiver
Triggers an event with a specific id. An process can send out events to specified eventreceivers which can then act as they please. Normally this is used for time based reminders.

Specified by:
triggerEvent in interface EventReceiver
Parameters:
eventId - The event's id as defined when the event was registered.

processSettingRequest

public Package processSettingRequest(QueryPackage query)
Description copied from class: ModuleClass
This is the default setting handler. Most modules will want to use this as this basically does everything for htem. For some modules though they'll want to override this to provide their own checks / handling etc. Saves the setting as moduleClassName_settingName to avoid name conflicts.

Specified by:
processSettingRequest in interface Module
Overrides:
processSettingRequest in class ModuleClass
Parameters:
query - The query to be processed.