Current File : /home/pacjaorg/public_html/kmm/libraries/vendor/joomla/database/src/DatabaseAwareTrait.php |
<?php
/**
* Part of the Joomla Framework Database Package
*
* @copyright Copyright (C) 2022 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\Database;
use Joomla\Database\Exception\DatabaseNotFoundException;
/**
* Defines the trait for a Database Aware Class.
*
* @since 2.1.0
*/
trait DatabaseAwareTrait
{
/**
* Database
*
* @var DatabaseInterface
* @since 2.1.0
*/
private $databaseAwareTraitDatabase;
/**
* Get the database.
*
* @return DatabaseInterface
*
* @since 2.1.0
* @throws DatabaseNotFoundException May be thrown if the database has not been set.
*/
protected function getDatabase(): DatabaseInterface
{
if ($this->databaseAwareTraitDatabase)
{
return $this->databaseAwareTraitDatabase;
}
throw new DatabaseNotFoundException('Database not set in ' . \get_class($this));
}
/**
* Set the database.
*
* @param DatabaseInterface $db The database.
*
* @return void
*
* @since 2.1.0
*/
public function setDatabase(DatabaseInterface $db): void
{
$this->databaseAwareTraitDatabase = $db;
}
}