Source for file AConnectionRegistry.php

Documentation is available at AConnectionRegistry.php

  1. <?php
  2. /**
  3.  *  
  4.  */
  5.  
  6. require_once 'AObject.php';
  7.  
  8.  
  9. /**
  10.  * AConnectionRegistry
  11.  * 
  12.  * @package Alia
  13.  * @subpackage Core
  14.  * @version $id$
  15.  * @copyright
  16.  * @author Jordan CM Wambaugh <jordan@wambaugh.org>
  17.  * @license
  18.  */
  19. {
  20.  
  21.     /**
  22.      *
  23.      * @var ArrayObject 
  24.      */
  25.     private $connections;
  26.     
  27.     static private $instanceObject=null;
  28.     
  29.     private $IDCounter=0;
  30.     
  31.     private function __construct(){
  32.         $this->connections = array();
  33.     }
  34.     
  35.     
  36.     /**
  37.      * returns the instance of the Alia object
  38.      *
  39.      * @return AConnectionRegistry 
  40.      */
  41.     public function instance(){
  42.         //prevent notices
  43.         if(!isset($_SESSION['alia']['connectionRegistry']))$_SESSION['alia']['connectionRegistry']=null;
  44.         
  45.         if($_SESSION['alia']['connectionRegistry'== null){
  46.             $_SESSION['alia']['connectionRegistry'new AConnectionRegistry();
  47.         }
  48.         return $_SESSION['alia']['connectionRegistry'];
  49.     }
  50.     
  51.     public function addConnection(AConnection $connection){
  52.         $this->generateID($connection);
  53.         $this->connections[]=$connection;
  54.         Alia::sendJScript(AJScript::renderConnection($connection));
  55.     }
  56.     
  57.     public function getConnections(){
  58.         return $this->connections;
  59.     }
  60.         
  61.     
  62.     /**
  63.      * Assigns an AObject a unique ID
  64.      *
  65.      * @param AObject $object 
  66.      */
  67.     private function generateID(AConnection $connection){
  68.         $id='connection'.$this->IDCounter++;
  69.         $connection->setConnectionID($id);
  70.     }
  71.     
  72.     
  73.     public function getConnectionByID($id){
  74.         foreach ($this->connections as $connection){
  75.             if($connection->getConnectionID(== $id ){
  76.                 return $connection;
  77.             }
  78.         }
  79.     }
  80.  
  81.     /**
  82.     * Wipes out all connections. Dangerous!
  83.     **/
  84.  
  85.     public function clearAllConnections(){
  86.         $this->connections = new ArrayObject();
  87.     }
  88.     
  89.  
  90.     public function clearConnections($widget){
  91.         foreach($this->connections as $k=>$v){
  92.             if($v->getTarget()===$widget || $v->getSource(=== $widget){
  93.                 $this->connections[$k]->clear();
  94.                 unset($this->connections[$k]);
  95.             }
  96.         }
  97.     }
  98.  
  99.  
  100.  
  101. // end of AObjectRegistry
  102. ?>

Documentation generated on Fri, 11 Jul 2008 13:28:39 -0400 by phpDocumentor 1.4.2