/** * @param ICalendar $calendar * @param ILogger $logger */ public function __construct(ICalendar $calendar, ILogger $logger) { $this->calendar = $calendar; $this->logger = $logger; if ($calendar->getBackend() instanceof IBackend) { try { $this->api = $calendar->getBackend()->getObjectAPI($calendar); } catch (BackendUtils\Exception $ex) { //TODO } $this->cache = $calendar->getBackend()->getObjectCache($calendar); $this->updater = $calendar->getBackend()->getObjectUpdater($calendar); $this->watcher = $calendar->getBackend()->getObjectWatcher($calendar); $this->isCachingEnabled = $this->api->cache(); } }