src.modules
Class RoomBookingModule

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

public class RoomBookingModule
extends ModuleClass
implements EventReceiver

Provides the functionality of knowing when a room is booked and not. This is useful when one for instance wants to find the closest free group room. Query examples:

'*' is treated as a wildcard in the room's name.

Version:
2005-maj-04

Constructor Summary
RoomBookingModule()
          Constructor for RoomBookingModule.
 
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.
 void triggerEvent(java.lang.String eventId)
          Triggers an event with a specific id.
 
Methods inherited from class src.server.ModuleClass
getModuleMeta, processSettingRequest, processSettingRequest, setModuleMeta
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RoomBookingModule

public RoomBookingModule()
Constructor for RoomBookingModule.

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.