12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Pricing\PriceInfo;
- use Magento\Framework\Pricing\Adjustment\AdjustmentInterface;
- use Magento\Framework\Pricing\Adjustment\Collection;
- use Magento\Framework\Pricing\Price\Collection as PriceCollection;
- use Magento\Framework\Pricing\Price\PriceInterface;
- use Magento\Framework\Pricing\PriceInfoInterface;
- /**
- * Class Base
- * Price info base model
- *
- * @api
- * @since 100.0.2
- */
- class Base implements PriceInfoInterface
- {
- /**
- * @var PriceCollection
- */
- protected $priceCollection;
- /**
- * @var Collection
- */
- protected $adjustmentCollection;
- /**
- * @param PriceCollection $prices
- * @param Collection $adjustmentCollection
- */
- public function __construct(
- PriceCollection $prices,
- Collection $adjustmentCollection
- ) {
- $this->adjustmentCollection = $adjustmentCollection;
- $this->priceCollection = $prices;
- }
- /**
- * Returns array of prices
- *
- * @return PriceCollection
- */
- public function getPrices()
- {
- return $this->priceCollection;
- }
- /**
- * Returns price by code
- *
- * @param string $priceCode
- * @return PriceInterface
- */
- public function getPrice($priceCode)
- {
- return $this->priceCollection->get($priceCode);
- }
- /**
- * Get all registered adjustments
- *
- * @return AdjustmentInterface[]
- */
- public function getAdjustments()
- {
- return $this->adjustmentCollection->getItems();
- }
- /**
- * Get adjustment by code
- *
- * @param string $adjustmentCode
- * @throws \InvalidArgumentException
- * @return AdjustmentInterface
- */
- public function getAdjustment($adjustmentCode)
- {
- return $this->adjustmentCollection->getItemByCode($adjustmentCode);
- }
- }
|