/** * Return a data handler for accessing data in the specified folder. * * @param mixed $folder The name of the folder or an instance * representing the folder. * @param string $object_type The type of data we want to access in the * folder. * @param int $data_version Format version of the object data. * * @return Horde_Kolab_Storage_Data The data object. */ public function getData($folder, $object_type = null, $data_version = 1) { if ($folder instanceof Horde_Kolab_Storage_Folder) { $folder_key = $folder->getPath(); } else { $folder_key = $folder; } $key = join('@', array($data_version, $object_type, $folder_key, $this->_master->getId())); if (!isset($this->_data[$key])) { if (!$folder instanceof Horde_Kolab_Storage_Folder) { $folder = $this->getFolder($folder); } $this->_data[$key] = $this->_createData($folder, $this->_master, $this->_factory, $object_type, $data_version); if (isset($this->_params['logger'])) { $this->_data[$key] = new Horde_Kolab_Storage_Data_Decorator_Log($this->_data[$key], $this->_params['logger']); } $this->_query_set->addDataQuerySet($this->_data[$key]); } return $this->_data[$key]; }
/** * Return the unique connection id. * * @return string The connection id. */ public function getId() { return $this->_driver->getId(); }