* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * @link http://www.temando.com/ */ interface AddressRepositoryInterface { /** * Load address by entity id. * * @param string $addressId * @return \Temando\Shipping\Api\Data\Checkout\AddressInterface * @throws \Magento\Framework\Exception\NoSuchEntityException */ public function getById($addressId); /** * Load address by quote address id. * * @param string $quoteAddressId * @return \Temando\Shipping\Api\Data\Checkout\AddressInterface * @throws \Magento\Framework\Exception\NoSuchEntityException */ public function getByQuoteAddressId($quoteAddressId); /** * Save address. * * @param \Temando\Shipping\Api\Data\Checkout\AddressInterface $address * @return \Temando\Shipping\Api\Data\Checkout\AddressInterface * @throws \Magento\Framework\Exception\CouldNotSaveException */ public function save(\Temando\Shipping\Api\Data\Checkout\AddressInterface $address); /** * Delete by quote address id. * * @param string $addressId * @return bool true on success * @throws \Magento\Framework\Exception\CouldNotDeleteException */ public function deleteByShippingAddressId($addressId); /** * Delete entity. * * @param \Temando\Shipping\Api\Data\Checkout\AddressInterface $address * @return bool true on success * @throws \Magento\Framework\Exception\CouldNotDeleteException */ public function delete(\Temando\Shipping\Api\Data\Checkout\AddressInterface $address); }