/**
  * @param AJXP_Node $node
  * @param AJXP_Node $contextNode
  * @param bool $details
  */
 public function loadNodeInfoFromCache(&$node, $contextNode, $details)
 {
     $cDriver = ConfService::getCacheDriverImpl();
     if (empty($cDriver) || !$cDriver->supportsPatternDelete(AJXP_CACHE_SERVICE_NS_NODES)) {
         return;
     }
     $id = $this->computeId($node, $details);
     if (CacheService::contains(AJXP_CACHE_SERVICE_NS_NODES, $id)) {
         $metadata = CacheService::fetch(AJXP_CACHE_SERVICE_NS_NODES, $id);
         if (is_array($metadata)) {
             $node->mergeMetadata($metadata);
             $node->setInfoLoaded($details);
         }
     }
 }
 public function url_stat($path, $flags)
 {
     $id = $this->computeCacheId($path, "stat");
     if (CacheService::contains(AJXP_CACHE_SERVICE_NS_NODES, $id)) {
         $stat = CacheService::fetch(AJXP_CACHE_SERVICE_NS_NODES, $id);
         if (is_array($stat)) {
             return $stat;
         }
     }
     $stat = parent::url_stat($path, $flags);
     CacheService::save(AJXP_CACHE_SERVICE_NS_NODES, $id, $stat);
     return $stat;
 }