1: <?php
2: /**
3: * PHPExcel
4: *
5: * Copyright (c) 2006 - 2014 PHPExcel
6: *
7: * This library is free software; you can redistribute it and/or
8: * modify it under the terms of the GNU Lesser General Public
9: * License as published by the Free Software Foundation; either
10: * version 2.1 of the License, or (at your option) any later version.
11: *
12: * This library is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this library; if not, write to the Free Software
19: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20: *
21: * @category PHPExcel
22: * @package PHPExcel_CachedObjectStorage
23: * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
24: * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
25: * @version 1.8.0, 2014-03-02
26: */
27:
28:
29: /**
30: * PHPExcel_CachedObjectStorage_ICache
31: *
32: * @category PHPExcel
33: * @package PHPExcel_CachedObjectStorage
34: * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
35: */
36: interface PHPExcel_CachedObjectStorage_ICache
37: {
38: /**
39: * Add or Update a cell in cache identified by coordinate address
40: *
41: * @param string $pCoord Coordinate address of the cell to update
42: * @param PHPExcel_Cell $cell Cell to update
43: * @return void
44: * @throws PHPExcel_Exception
45: */
46: public function addCacheData($pCoord, PHPExcel_Cell $cell);
47:
48: /**
49: * Add or Update a cell in cache
50: *
51: * @param PHPExcel_Cell $cell Cell to update
52: * @return void
53: * @throws PHPExcel_Exception
54: */
55: public function updateCacheData(PHPExcel_Cell $cell);
56:
57: /**
58: * Fetch a cell from cache identified by coordinate address
59: *
60: * @param string $pCoord Coordinate address of the cell to retrieve
61: * @return PHPExcel_Cell Cell that was found, or null if not found
62: * @throws PHPExcel_Exception
63: */
64: public function getCacheData($pCoord);
65:
66: /**
67: * Delete a cell in cache identified by coordinate address
68: *
69: * @param string $pCoord Coordinate address of the cell to delete
70: * @throws PHPExcel_Exception
71: */
72: public function deleteCacheData($pCoord);
73:
74: /**
75: * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell?
76: *
77: * @param string $pCoord Coordinate address of the cell to check
78: * @return boolean
79: */
80: public function isDataSet($pCoord);
81:
82: /**
83: * Get a list of all cell addresses currently held in cache
84: *
85: * @return array of string
86: */
87: public function getCellList();
88:
89: /**
90: * Get the list of all cell addresses currently held in cache sorted by column and row
91: *
92: * @return void
93: */
94: public function getSortedCellList();
95:
96: /**
97: * Clone the cell collection
98: *
99: * @param PHPExcel_Worksheet $parent The new worksheet
100: * @return void
101: */
102: public function copyCellCollection(PHPExcel_Worksheet $parent);
103:
104: /**
105: * Identify whether the caching method is currently available
106: * Some methods are dependent on the availability of certain extensions being enabled in the PHP build
107: *
108: * @return boolean
109: */
110: public static function cacheMethodIsAvailable();
111:
112: }
113: