1<?php 2 3namespace Drupal\aggregator\Plugin; 4 5use Drupal\aggregator\FeedInterface; 6 7/** 8 * Defines an interface for aggregator processor implementations. 9 * 10 * A processor acts on parsed feed data. Active processors are called at the 11 * third and last of the aggregation stages: first, data is downloaded by the 12 * active fetcher; second, it is converted to a common format by the active 13 * parser; and finally, it is passed to all active processors that manipulate or 14 * store the data. 15 * 16 * @see \Drupal\aggregator\Annotation\AggregatorProcessor 17 * @see \Drupal\aggregator\Plugin\AggregatorPluginSettingsBase 18 * @see \Drupal\aggregator\Plugin\AggregatorPluginManager 19 * @see plugin_api 20 */ 21interface ProcessorInterface { 22 23 /** 24 * Processes feed data. 25 * 26 * @param \Drupal\aggregator\FeedInterface $feed 27 * A feed object representing the resource to be processed. 28 * $feed->items contains an array of feed items downloaded and parsed at the 29 * parsing stage. See \Drupal\aggregator\Plugin\FetcherInterface::parse() 30 * for the basic format of a single item in the $feed->items array. 31 * For the exact format refer to the particular parser in use. 32 */ 33 public function process(FeedInterface $feed); 34 35 /** 36 * Refreshes feed information. 37 * 38 * Called after the processing of the feed is completed by all selected 39 * processors. 40 * 41 * @param \Drupal\aggregator\FeedInterface $feed 42 * Object describing feed. 43 * 44 * @see aggregator_refresh() 45 */ 46 public function postProcess(FeedInterface $feed); 47 48 /** 49 * Deletes stored feed data. 50 * 51 * Called by aggregator if either a feed is deleted or a user clicks on 52 * "delete items". 53 * 54 * @param \Drupal\aggregator\FeedInterface $feed 55 * The $feed object whose items are being deleted. 56 */ 57 public function delete(FeedInterface $feed); 58 59} 60