public function getAllMetadata()
    {
        $configName     = ($this->config !== null) ? $this->config->getUniqueName() : '';
        $cacheFilename  = Installer::BASE_PATH . Installer::CACHE_PATH . DIRECTORY_SEPARATOR;
        $cacheFilename .= md5('all_metadata' . get_class($this->metadataDAO) . $configName);

        if ($this->fileManager->isFile($cacheFilename) === true && $this->noCache === false) {
            $data = unserialize($this->fileManager->fileGetContent($cacheFilename));
        } else {
            $data = $this->metadataDAO->getAllMetadata();
            $this->fileManager->filePutsContent($cacheFilename, serialize($data));
        }

        return $data;
    }