* Leo changed String url to URI uri, as this does reflect the URI class used in ApertureDataObject. * The "new" and "modified" methods should be parted, if also "Deleted" and "unchanged" are seperate methods. clearer meaning then, objectScanned was an unclear method name compared to objectUnchanged. {{{ /** * A listener for events from a DataCrawler. The listener is responsible to store * the DataObjects in the database of choice. DataCrawlerListener are implemented * by application developers using Aperture to extract data. The information * whether an object is new, changed, deleted or unchanged is detected by * the crawler. **/ 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, URI uri); /** * Notification that the DataCrawler has found a new * DataObject in its scan domain. * * @param dataObject The DataObject that has been constructed. **/ public void objectNew(DataCrawler dataCrawler, DataObject dataObject); /** * Notification that the DataCrawler has found a 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 objectChanged(DataCrawler dataCrawler, DataObject dataObject); /** * 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, URI uri); /** * 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, URI uri); /** * 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, URI url); } }}}