Exemplo n.º 1
0
 /**
  * @param Concept $concept
  * @return Arc[]
  */
 public function getArcsFromConcept(Concept $concept)
 {
     if (is_null($this->arcCache)) {
         $this->arcCache = array();
         foreach ($this->getArcs() as $arc) {
             /** @var $fromConcept NamespaceId */
             foreach ($arc->getFromConcepts() as $fromConcept) {
                 if (!isset($this->arcCache[$fromConcept->namespace])) {
                     $this->arcCache[$fromConcept->namespace] = array();
                 }
                 if (!isset($this->arcCache[$fromConcept->namespace][$fromConcept->id])) {
                     $this->arcCache[$fromConcept->namespace][$fromConcept->id] = array();
                 }
                 $this->arcCache[$fromConcept->namespace][$fromConcept->id][] = $arc;
             }
         }
     }
     $namespaceArcCache = $this->arcCache[$concept->getNamespace()];
     if ($namespaceArcCache) {
         return $namespaceArcCache[$concept->getId()];
     }
     return null;
 }