. */ namespace SP\Core\Events; use InvalidArgumentException; /** * Class Event * * @package SP\Core\Events */ final class Event { /** * @var object */ private $source; /** * @var EventMessage */ private $eventMessage; /** * Event constructor. * * @param object $source * @param EventMessage $eventMessage * * @throws InvalidArgumentException */ public function __construct($source, EventMessage $eventMessage = null) { if (!is_object($source)) { throw new InvalidArgumentException(__u('Es necesario un objeto')); } $this->source = $source; $this->eventMessage = $eventMessage; } /** * @return object */ public function getSource() { return $this->source; } /** * @return EventMessage|null */ public function getEventMessage() { return $this->eventMessage; } }