Version 1
[yaffs-website] / web / core / modules / aggregator / src / Plugin / ProcessorInterface.php
diff --git a/web/core/modules/aggregator/src/Plugin/ProcessorInterface.php b/web/core/modules/aggregator/src/Plugin/ProcessorInterface.php
new file mode 100644 (file)
index 0000000..3b13833
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+
+namespace Drupal\aggregator\Plugin;
+
+use Drupal\aggregator\FeedInterface;
+
+/**
+ * Defines an interface for aggregator processor implementations.
+ *
+ * A processor acts on parsed feed data. Active processors are called at the
+ * third and last of the aggregation stages: first, data is downloaded by the
+ * active fetcher; second, it is converted to a common format by the active
+ * parser; and finally, it is passed to all active processors that manipulate or
+ * store the data.
+ *
+ * @see \Drupal\aggregator\Annotation\AggregatorProcessor
+ * @see \Drupal\aggregator\Plugin\AggregatorPluginSettingsBase
+ * @see \Drupal\aggregator\Plugin\AggregatorPluginManager
+ * @see plugin_api
+ */
+interface ProcessorInterface {
+
+  /**
+   * Processes feed data.
+   *
+   * @param \Drupal\aggregator\FeedInterface $feed
+   *   A feed object representing the resource to be processed.
+   *   $feed->items contains an array of feed items downloaded and parsed at the
+   *   parsing stage. See \Drupal\aggregator\Plugin\FetcherInterface::parse()
+   *   for the basic format of a single item in the $feed->items array.
+   *   For the exact format refer to the particular parser in use.
+   */
+  public function process(FeedInterface $feed);
+
+  /**
+   * Refreshes feed information.
+   *
+   * Called after the processing of the feed is completed by all selected
+   * processors.
+   *
+   * @param \Drupal\aggregator\FeedInterface $feed
+   *   Object describing feed.
+   *
+   * @see aggregator_refresh()
+   */
+  public function postProcess(FeedInterface $feed);
+
+  /**
+   * Deletes stored feed data.
+   *
+   * Called by aggregator if either a feed is deleted or a user clicks on
+   * "delete items".
+   *
+   * @param \Drupal\aggregator\FeedInterface $feed
+   *   The $feed object whose items are being deleted.
+   */
+  public function delete(FeedInterface $feed);
+
+}