From ddc0de38f64e5834ce04f0407a8416172b596655 Mon Sep 17 00:00:00 2001 From: wei <> Date: Sat, 16 Dec 2006 03:56:03 +0000 Subject: removed adodb and framework/DataAccess --- .../DataAccess/SQLMap/DataMapper/TSqlMapCache.php | 232 --------------------- 1 file changed, 232 deletions(-) delete mode 100644 framework/DataAccess/SQLMap/DataMapper/TSqlMapCache.php (limited to 'framework/DataAccess/SQLMap/DataMapper/TSqlMapCache.php') diff --git a/framework/DataAccess/SQLMap/DataMapper/TSqlMapCache.php b/framework/DataAccess/SQLMap/DataMapper/TSqlMapCache.php deleted file mode 100644 index 4d319869..00000000 --- a/framework/DataAccess/SQLMap/DataMapper/TSqlMapCache.php +++ /dev/null @@ -1,232 +0,0 @@ - - * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005 PradoSoft - * @license http://www.pradosoft.com/license/ - * @version $Id$ - * @package System.DataAccess.SQLMap - */ - -interface ISqLMapCache -{ - public function remove($key); - - public function flush(); - - public function get($key); - - public function set($key, $value); - - public function configure($model, $properties); -} - -/** - * Allow different implementation of caching strategy. See TSqlMapFifoCache - * for a first-in-first-out implementation. See TSqlMapLruCache for - * a least-recently-used cache implementation. - * - * @author Wei Zhuo - * @version $Id$ - * @package System.DataAccess.SQLMap - * @since 3.0 - */ -abstract class TSqlMapCache implements ISqlMapCache -{ - protected $_keyList; - protected $_cache; - protected $_cacheSize = 100; - - /** - * Create a new cache with limited cache size. - * @param integer maxium number of items to cache. - */ - public function __construct($cacheSize=100) - { - $this->_cache = new TMap; - $this->_cacheSize = intval($cacheSize); - $this->_keyList = new TList; - } - - /** - * Configures the Cache Size. - * @param array list of properties - */ - public function configure($model, $properties) - { - if(isset($properties['size'])) - $this->_cacheSize = intval($properties['size']); - } - - /** - * @return object the object removed if exists, null otherwise. - */ - public function remove($key) - { - $object = $this->get($key); - $this->_cache->remove($key); - $this->_keyList->remove($key); - return $object; - } - - /** - * Clears the cache. - */ - public function flush() - { - $this->_keyList->clear(); - $this->_cache->clear(); - } - -} - -/** - * First-in-First-out cache implementation, removes - * object that was first added when the cache is full. - * - * @author Wei Zhuo - * @version $Id$ - * @package System.DataAccess.SQLMap - * @since 3.0 - */ -class TSqlMapFifoCache extends TSqlMapCache -{ - /** - * @return mixed Gets a cached object with the specified key. - */ - public function get($key) - { - return $this->_cache->itemAt($key); - } - - /** - * Adds an item with the specified key and value into cached data. - * @param string cache key - * @param mixed value to cache. - */ - public function set($key, $value) - { - $this->_cache->add($key, $value); - $this->_keyList->add($key); - if($this->_keyList->getCount() > $this->_cacheSize) - { - $oldestKey = $this->_keyList->removeAt(0); - $this->_cache->remove($oldestKey); - } - } -} - -/** - * Least recently used cache implementation, removes - * object that was accessed last when the cache is full. - * - * @author Wei Zhuo - * @version $Id$ - * @package System.DataAccess.SQLMap - * @since 3.0 - */ -class TSqlMapLruCache extends TSqlMapCache -{ - /** - * @return mixed Gets a cached object with the specified key. - */ - public function get($key) - { - if($this->_keyList->contains($key)) - { - $this->_keyList->remove($key); - $this->_keyList->add($key); - return $this->_cache->itemAt($key); - } - else - return null; - } - - /** - * Adds an item with the specified key and value into cached data. - * @param string cache key - * @param mixed value to cache. - */ - public function set($key, $value) - { - $this->_cache->add($key, $value); - $this->_keyList->add($key); - if($this->_keyList->getCount() > $this->_cacheSize) - { - $oldestKey = $this->_keyList->removeAt(0); - $this->_cache->remove($oldestKey); - } - } -} - -class TSqlMapApplicationCache implements ISqlMapCache -{ - private $_cache; - private $_expiry=0; - private $_property=array(); - private $_cacheModelID; - - public function __sleep() - { - $this->_cache = null; - return array_keys(get_object_vars($this)); - } - - public function remove($key) - { - $this->getCache()->delete($key); - } - - public function flush() - { - $this->getCache()->flush(); - } - - public function get($key) - { - $result = $this->getCache()->get($key); - return $result === false ? null : $result; - } - - public function set($key, $value) - { - $this->getCache()->set($key, $value, $this->_expiry); - } - - public function configure($model, $properties) - { - $this->_property = $properties; - $this->_cacheModelID = $model->getID(); - } - - protected function getCache() - { - if(is_null($this->_cache)) - $this->initialize(); - return $this->_cache; - } - - protected function initialize() - { - if(isset($this->_property['expiry'])) - $this->_expiry = intval($this->_property['expiry']); - - if(isset($this->_property['cacheModule'])) - { - $id = $this->_property['cacheModule']; - $this->_cache = Prado::getApplication()->getModule($id); - } - else - { - $this->_cache = Prado::getApplication()->getCache(); - } - - if(!($this->_cache instanceof ICache)) - throw new TSqlMapConfigurationException( - 'sqlmap_invalid_prado_cache', $this->_cacheModelID); - } -} - -?> \ No newline at end of file -- cgit v1.2.3