<?php
    defined('BASEPATH') OR exit('No direct script access allowed');

    require_once 'Notification.php';

    class NotificationGroup
    {
        protected $notifications;
        protected $realCount;

        public function __construct(array $notifications, $count)
        {
            $this->notifications = $notifications;
            $this->realCount = $count;
        }

        public function message() {
            if($this->realCount == 1) {
                return $this->notifications[0]->messageForNotification($this->notifications[0]);
            }
            return $this->notifications[0]->messageForNotifications($this->notifications, $this->realCount);
        }

        public function __get($attribute)
        {
            return !empty($this->notifications) ? $this->notifications[0]->{$attribute} : null;
        }

        public function __call($name, $arguments)
        {
            return call_user_func_array([$this->notifications[0], $name], $arguments);
        }
    }