// Copyright 2012. Christian Weilbach.  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Votorola Software")
/** Caching forum messages.<pre
 *
 *>                                                        (remote)
 *                Administrator           Reader            Reader
 *                     |                    |                  |
 *                     | harvest            | read             | read
 *                     |                    |                  |
 *           read      V      store         V          get     V
 * Archive &lt;------ Harvester -------&gt; HarvestCache &lt;------ HarvestWAP
 *    .                |
 *    .                | register
 *    .                |
 *    .                V
 *    .              Kicker
 *    .                ^
 *    .                |
 *    .                | raise
 *    .     listen     |
 *  Forum &lt;-------- Detector
 *
 * Component   Function
 * ---------   -----------------------------------------
 * Archive      Remote archive of discussion messages
 * {@link votorola.a.diff.harvest.cache.HarvestCache} Store message locally for quick retrieval
 * {@link votorola.s.wap.HarvestWAP}   Web API for remote reader of cache
 * Detector     Detect new message in remote archive
 * <a href="http://reluk.ca/w/Concept:Forum">Forum</a>        A live medium where discussion happens.
 * Harvester    Fetch message from remote archive, e.g {@link votorola.a.diff.harvest.PipermailHarvester Harvester Pipermail}
 * {@link votorola.a.diff.harvest.kick.Kicker}       Relay detection of new message to listeners
 * Reader       Old difference feed, new talk track, etc.</pre>
  */
package votorola.a.diff.harvest;