diff options
author | emkael <emkael@tlen.pl> | 2016-04-07 16:09:16 +0200 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2016-04-07 16:09:16 +0200 |
commit | d42b25cbf6d3f1e51cb2a3149f1ff54cc5474bc9 (patch) | |
tree | 96b734357392d6094cfc5f8284ad8f2578b96b7f /lib/prado/framework/Collections | |
parent | ac6c2b9c4f787dfdfa00547f764c77d80dad14c0 (diff) |
* Prado upgrade (to 3.3.r6b8e6601752b21a8a96c385a5529bbec7bb2b408)
Diffstat (limited to 'lib/prado/framework/Collections')
-rw-r--r-- | lib/prado/framework/Collections/TAttributeCollection.php | 15 | ||||
-rw-r--r-- | lib/prado/framework/Collections/TDummyDataSource.php | 2 | ||||
-rw-r--r-- | lib/prado/framework/Collections/TList.php | 75 | ||||
-rw-r--r-- | lib/prado/framework/Collections/TListItemCollection.php | 2 | ||||
-rw-r--r-- | lib/prado/framework/Collections/TMap.php | 89 | ||||
-rw-r--r-- | lib/prado/framework/Collections/TPagedDataSource.php | 2 | ||||
-rw-r--r-- | lib/prado/framework/Collections/TPagedList.php | 4 | ||||
-rw-r--r-- | lib/prado/framework/Collections/TPriorityList.php | 2 | ||||
-rw-r--r-- | lib/prado/framework/Collections/TPriorityMap.php | 2 | ||||
-rw-r--r-- | lib/prado/framework/Collections/TQueue.php | 2 | ||||
-rw-r--r-- | lib/prado/framework/Collections/TStack.php | 2 |
11 files changed, 42 insertions, 155 deletions
diff --git a/lib/prado/framework/Collections/TAttributeCollection.php b/lib/prado/framework/Collections/TAttributeCollection.php index a0f14ef..eb3cb29 100644 --- a/lib/prado/framework/Collections/TAttributeCollection.php +++ b/lib/prado/framework/Collections/TAttributeCollection.php @@ -4,7 +4,7 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Collections */ @@ -45,6 +45,19 @@ class TAttributeCollection extends TMap private $_caseSensitive=false; /** + * Returns an array with the names of all variables of this object that should NOT be serialized + * because their value is the default one or useless to be cached for the next page loads. + * Reimplement in derived classes to add new variables, but remember to also to call the parent + * implementation first. + */ + protected function _getZappableSleepProps(&$exprops) + { + parent::_getZappableSleepProps($exprops); + if ($this->_caseSensitive===false) + $exprops[] = "\0TAttributeCollection\0_caseSensitive"; + } + + /** * Returns a property value or an event handler list by property or event name. * This method overrides the parent implementation by returning * a key value if the key exists in the collection. diff --git a/lib/prado/framework/Collections/TDummyDataSource.php b/lib/prado/framework/Collections/TDummyDataSource.php index 6aaaeaa..275d847 100644 --- a/lib/prado/framework/Collections/TDummyDataSource.php +++ b/lib/prado/framework/Collections/TDummyDataSource.php @@ -4,7 +4,7 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Collections */ diff --git a/lib/prado/framework/Collections/TList.php b/lib/prado/framework/Collections/TList.php index bba0dae..6e9e16f 100644 --- a/lib/prado/framework/Collections/TList.php +++ b/lib/prado/framework/Collections/TList.php @@ -4,7 +4,7 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Collections */ @@ -406,78 +406,7 @@ class TList extends TComponent implements IteratorAggregate,ArrayAccess,Countabl * @package System.Collections * @since 3.0 */ -class TListIterator implements Iterator +class TListIterator extends ArrayIterator { - /** - * @var array the data to be iterated through - */ - private $_d; - /** - * @var integer index of the current item - */ - private $_i; - /** - * @var integer count of the data items - */ - private $_c; - - /** - * Constructor. - * @param array the data to be iterated through - */ - public function __construct(&$data) - { - $this->_d=&$data; - $this->_i=0; - $this->_c=count($this->_d); - } - - /** - * Rewinds internal array pointer. - * This method is required by the interface Iterator. - */ - public function rewind() - { - $this->_i=0; - } - - /** - * Returns the key of the current array item. - * This method is required by the interface Iterator. - * @return integer the key of the current array item - */ - public function key() - { - return $this->_i; - } - - /** - * Returns the current array item. - * This method is required by the interface Iterator. - * @return mixed the current array item - */ - public function current() - { - return $this->_d[$this->_i]; - } - - /** - * Moves the internal pointer to the next array item. - * This method is required by the interface Iterator. - */ - public function next() - { - $this->_i++; - } - - /** - * Returns whether there is an item at current position. - * This method is required by the interface Iterator. - * @return boolean - */ - public function valid() - { - return $this->_i<$this->_c; - } } diff --git a/lib/prado/framework/Collections/TListItemCollection.php b/lib/prado/framework/Collections/TListItemCollection.php index ed00146..5c146b6 100644 --- a/lib/prado/framework/Collections/TListItemCollection.php +++ b/lib/prado/framework/Collections/TListItemCollection.php @@ -6,7 +6,7 @@ * @author Robin J. Rogge <rojaro@gmail.com> * @author Qiang Xue <qiang.xue@gmail.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Collections */ diff --git a/lib/prado/framework/Collections/TMap.php b/lib/prado/framework/Collections/TMap.php index d610dce..017f70b 100644 --- a/lib/prado/framework/Collections/TMap.php +++ b/lib/prado/framework/Collections/TMap.php @@ -4,7 +4,7 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Collections */ @@ -42,6 +42,21 @@ class TMap extends TComponent implements IteratorAggregate,ArrayAccess,Countable private $_r=false; /** + * Returns an array with the names of all variables of this object that should NOT be serialized + * because their value is the default one or useless to be cached for the next page loads. + * Reimplement in derived classes to add new variables, but remember to also to call the parent + * implementation first. + */ + protected function _getZappableSleepProps(&$exprops) + { + parent::_getZappableSleepProps($exprops); + if ($this->_d===array()) + $exprops[] = "\0TMap\0_d"; + if ($this->_r===false) + $exprops[] = "\0TMap\0_r"; + } + + /** * Constructor. * Initializes the list with an array or an iterable object. * @param array|Iterator the intial data. Default is null, meaning no initialization. @@ -275,76 +290,6 @@ class TMap extends TComponent implements IteratorAggregate,ArrayAccess,Countable * @package System.Collections * @since 3.0 */ -class TMapIterator implements Iterator +class TMapIterator extends ArrayIterator { - /** - * @var array the data to be iterated through - */ - private $_d; - /** - * @var array list of keys in the map - */ - private $_keys; - /** - * @var mixed current key - */ - private $_key; - - /** - * Constructor. - * @param array the data to be iterated through - */ - public function __construct(&$data) - { - $this->_d=&$data; - $this->_keys=array_keys($data); - } - - /** - * Rewinds internal array pointer. - * This method is required by the interface Iterator. - */ - public function rewind() - { - $this->_key=reset($this->_keys); - } - - /** - * Returns the key of the current array element. - * This method is required by the interface Iterator. - * @return mixed the key of the current array element - */ - public function key() - { - return $this->_key; - } - - /** - * Returns the current array element. - * This method is required by the interface Iterator. - * @return mixed the current array element - */ - public function current() - { - return $this->_d[$this->_key]; - } - - /** - * Moves the internal pointer to the next array element. - * This method is required by the interface Iterator. - */ - public function next() - { - $this->_key=next($this->_keys); - } - - /** - * Returns whether there is an element at current position. - * This method is required by the interface Iterator. - * @return boolean - */ - public function valid() - { - return $this->_key!==false; - } } diff --git a/lib/prado/framework/Collections/TPagedDataSource.php b/lib/prado/framework/Collections/TPagedDataSource.php index ec0b895..7fe43e5 100644 --- a/lib/prado/framework/Collections/TPagedDataSource.php +++ b/lib/prado/framework/Collections/TPagedDataSource.php @@ -4,7 +4,7 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Collections */ diff --git a/lib/prado/framework/Collections/TPagedList.php b/lib/prado/framework/Collections/TPagedList.php index 118bba1..a933b4e 100644 --- a/lib/prado/framework/Collections/TPagedList.php +++ b/lib/prado/framework/Collections/TPagedList.php @@ -4,7 +4,7 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Collections */ @@ -295,7 +295,7 @@ class TPagedList extends TList else { $data=$this->toArray(); - return new TListIterator($data); + return new ArrayIterator($data); } } diff --git a/lib/prado/framework/Collections/TPriorityList.php b/lib/prado/framework/Collections/TPriorityList.php index ad548dc..06dbae0 100644 --- a/lib/prado/framework/Collections/TPriorityList.php +++ b/lib/prado/framework/Collections/TPriorityList.php @@ -4,7 +4,7 @@ * * @author Brad Anderson <javalizard@gmail.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Collections */ diff --git a/lib/prado/framework/Collections/TPriorityMap.php b/lib/prado/framework/Collections/TPriorityMap.php index 9af10da..eebb81b 100644 --- a/lib/prado/framework/Collections/TPriorityMap.php +++ b/lib/prado/framework/Collections/TPriorityMap.php @@ -4,7 +4,7 @@ * * @author Brad Anderson <javalizard@mac.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Collections */ diff --git a/lib/prado/framework/Collections/TQueue.php b/lib/prado/framework/Collections/TQueue.php index 6c989e2..ac6f9df 100644 --- a/lib/prado/framework/Collections/TQueue.php +++ b/lib/prado/framework/Collections/TQueue.php @@ -4,7 +4,7 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @version $Id$ * @package System.Collections diff --git a/lib/prado/framework/Collections/TStack.php b/lib/prado/framework/Collections/TStack.php index de78527..8bb4216 100644 --- a/lib/prado/framework/Collections/TStack.php +++ b/lib/prado/framework/Collections/TStack.php @@ -4,7 +4,7 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link https://github.com/pradosoft/prado - * @copyright Copyright © 2005-2015 The PRADO Group + * @copyright Copyright © 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Collections */ |