Formula9/Framework

View on GitHub
F9/Support/Events/DatabaseEvent.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php namespace F9\Events;

/**
 * @package Nine
 * @version 0.4.2
 * @author  Greg Truesdell <odd.greg@gmail.com>
 */

use F9\Contracts\DatabaseEventInterface;
use Nine\Database\DatabaseInterface;
use Nine\Events\Event;

/**
 * Base Database Event
 */
class DatabaseEvent extends Event implements DatabaseEventInterface
{
    /** @var mixed */
    protected $context;

    /** @var DatabaseInterface $database */
    protected $database;

    /**
     * DatabaseEvent constructor.
     *
     * @param DatabaseInterface $database
     * @param array             $payload
     * @param string            $context
     * @param bool              $halt
     */
    public function __construct(
        DatabaseInterface $database,
        array $payload = [],
        string $context = 'global.event',
        bool $halt = FALSE)
    {
        parent::__construct($payload, $halt);

        $this->database = $database;
        $this->context = $context;
    }

    /**
     * @return string
     */
    public function getContext() : string
    {
        return $this->context;
    }

    /**
     * @return DatabaseInterface
     */
    public function getDatabase()
    {
        return $this->database;
    }

}