commerce-8.x-2.8/modules/order/src/OrderRefreshInterface.php
modules/order/src/OrderRefreshInterface.php
<?php namespace Drupal\commerce_order; use Drupal\commerce_order\Entity\OrderInterface; /** * Runs order refresh on draft orders. */ interface OrderRefreshInterface { /** * Adds an order processor. * * @param \Drupal\commerce_order\OrderProcessorInterface $processor * The order processor. */ public function addProcessor(OrderProcessorInterface $processor); /** * Checks whether the order should be refreshed. * * Wraps the needsRefresh() check with an additional refresh mode check, * skipping the refresh for non-customers when specified. * * @param \Drupal\commerce_order\Entity\OrderInterface $order * The order. * * @return bool * TRUE if the order should be refreshed, FALSE otherwise. */ public function shouldRefresh(OrderInterface $order); /** * Checks whether the given order needs to be refreshed. * * An order needs to be refreshed: * - If a refresh was explicitly requested via $order->setNeedsRefresh() due * to the order being modified. * - If it was not refreshed today (date changes can affect tax rate amounts, * promotion availability) * - If it was not refreshed for longer than the refresh frequency. * * @param \Drupal\commerce_order\Entity\OrderInterface $order * The order. * * @return bool * TRUE if the order needs to be refreshed, FALSE otherwise. */ public function needsRefresh(OrderInterface $order); /** * Refreshes the given order. * * Any modified order items will be automatically saved. * The order itself will not be saved. * * @param \Drupal\commerce_order\Entity\OrderInterface $order * The order. */ public function refresh(OrderInterface $order); }