{{{ /** * A listener for events from a DataCrawler. **/ public interface DataCrawlerListener { /** * Notification that the specified DataCrawler has started * scanning its domain for data objects. * * @param dataSource The concerning data source. **/ public void scanStarted(DataCrawler dataCrawler); /** * Notification that the specified DataCrawler has stopped * scanning its DataSource for DataObjects. The crawler might * have completed scanning its domain, it might have been * requested to stop by someone or it might have stopped * because of a fatal exception. * * @param dataSource The concerning DataCrawler. * @param exitCode The status with which the scan method stopped. **/ public void scanStopped(DataCrawler dataCrawler, DataCrawler.ExitCode exitCode); /** * Notification that the DataCrawler is going to start scanning * the specified data object. * * @param url The url of the data object that is going to be scanned. **/ public void scanningObject(DataCrawler dataCrawler, String url); /** * Notification that the DataCrawler has found a new or changed * DataObject in its scan domain. * * @param dataObject The DataObject that has been constructed. * @param newObject Flag indicating whether the scanned object is * new (true) or that it has been scanned before but has * changed (false). **/ public void objectScanned(DataCrawler dataCrawler, DataObject dataObject, boolean newObject); /** * Notification that the DataCrawler has found a data object that * has not been modified since the previous scan. * * @param url The url of the unmodified data object. **/ public void objectNotModified(DataCrawler dataCrawler, String url); /** * Notification that the data object with the specified * url that was found in an earlier scan could no longer * be found in this scan. This may indicate that the physical * resource no longer exists or that it now falls outside the defined domain. * * @param id The id of the data object that could no longer be found. **/ public void objectRemoved(DataCrawler dataCrawler, String url); /** * Notification that the specified DataCrawler has started * clearing its scan results cache. * * @param dataSource The concerning DataCrawler. **/ public void clearStarted(DataCrawler dataCrawler); /** * Notification that the specified DataCrawler has finished * clearing its scan results cache. * * @param dataSource The concerning DataCrawler. **/ public void clearFinished(DataCrawler dataCrawler); /** * Notification that the data object with the specified url * is going to be removed from the DataCrawler's scan results cache. * This method is typically called at the start of a full rescan. **/ public void clearingObject(DataCrawler dataCrawler, String url); } }}}