Some 'static' array elements rewritten to constant, other cleanups
[core.git] / inc / classes / main / cache / class_MemoryCache.php
index a38a65bab97d0290753aca47b9dd007021bc3e12..c3e24cc16f77fbf0878d404ca4b39c3cf03496f8 100644 (file)
@@ -69,7 +69,7 @@ class MemoryCache extends BaseFrameworkSystem implements Cacheable {
         * @param       $offset         The offset we are looking for
         * @return      $exists         Wether the offset exists
         */
-       public final function offsetExists ($offset) {
+       public function offsetExists ($offset) {
                $exists = $this->dataCache->offsetExists($offset);
                return $exists;
        }
@@ -81,7 +81,7 @@ class MemoryCache extends BaseFrameworkSystem implements Cacheable {
         * @param       $data           Data to store in cache
         * @return      void
         */
-       public final function offsetSet ($offset, $data) {
+       public function offsetSet ($offset, $data) {
                $this->dataCache->offsetSet($offset, $data);
        }
 
@@ -91,7 +91,7 @@ class MemoryCache extends BaseFrameworkSystem implements Cacheable {
         * @param       $offset         The offset we shall set
         * @return      $data           Data to store in cache
         */
-       public final function offsetGet ($offset) {
+       public function offsetGet ($offset) {
                // Default is offset not found
                $data = NULL;
 
@@ -99,11 +99,26 @@ class MemoryCache extends BaseFrameworkSystem implements Cacheable {
                if ($this->offsetExists($offset)) {
                        // Then get the data from it
                        $data = $this->dataCache->offsetGet($offset);
-               }
+               } // END - if
 
                // Return data
                return $data;
        }
+
+       /**
+        * Purges the given cache entry
+        *
+        * @param       $offset         The offset we shall set
+        * @return      void
+        */
+       public function purgeOffset ($offset) {
+               // Is the offset there?
+               if ($this->offsetExists($offset)) {
+                       // Purge only existing keys
+                       /* DEBUG: */ $this->debugOutput('CACHE: Unsetting cache ' . $offset);
+                       $this->dataCache->offsetUnset($offset);
+               } // END - if
+       }
 }
 
 // [EOF]