. * */ namespace OCA\News\BusinessLayer; use \OCA\AppFramework\Db\DoesNotExistException; use \OCA\AppFramework\Db\MultipleObjectsReturnedException; use \OCA\News\Db\IMapper; abstract class BusinessLayer { protected $mapper; public function __construct(IMapper $mapper){ $this->mapper = $mapper; } public function delete($id, $userId){ $entity = $this->find($id, $userId); $this->mapper->delete($entity); } public function find($id, $userId){ try { return $this->mapper->find($id, $userId); } catch(DoesNotExistException $ex){ throw new BusinessLayerException($ex->getMessage()); } catch(MultipleObjectsReturnedException $ex){ throw new BusinessLayerException($ex->getMessage()); } } }